You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Power Query从列数不同的多工作簿提取指定列合并?

用Power Query批量提取多工作簿指定列并追加合并

操作步骤:

  1. 导入文件夹下所有工作簿

    • 打开Excel,切换到「数据」选项卡,依次点击「获取数据」→「从文件」→「从文件夹」
    • 选中存放Book1、Book2、Book3的文件夹,点击「确定」
    • 在弹出的文件夹内容页面,点击「转换数据」进入Power Query编辑器
  2. 创建提取指定列的自定义函数

    • 点击「主页」→「新建源」→「空白查询」,把这个查询重命名为GetSpecifiedColumns
    • 打开「高级编辑器」,替换原有代码为以下内容:
      let
          Source = (FilePath as text) => let
              ImportData = Excel.Workbook(File.Contents(FilePath), null, true),
              SheetData = ImportData{[Item="Sheet1",Kind="Sheet"]}[Data], // 数据在Sheet1就用这个,其他表名改这里
              PromoteHeaders = Table.PromoteHeaders(SheetData, [PromoteAllScalars=true]),
              KeepColumns = Table.SelectColumns(PromoteHeaders, {"Date", "Ref1", "Ref3"}, MissingField.Ignore)
          in
              KeepColumns
      in
          Source
      
    • 注:MissingField.Ignore会自动跳过没有指定列的工作簿,不会报错
  3. 给所有工作簿应用自定义函数

    • 返回文件夹内容的查询页面,点击「添加列」→「自定义列」
    • 输入公式:=GetSpecifiedColumns([Folder Path]&[Name]),点击「确定」
    • 点击自定义列右侧的展开图标,选择「加载到」→ 只勾选「表」,确认展开
  4. 整理并加载合并后的数据

    • 此时所有工作簿的Date、Ref1、Ref3列已经被合并到一张表里,可按需做数据清洗(比如处理空值、统一日期格式)
    • 点击「主页」→「关闭并上载」,把合并好的数据导入到新工作表

内容的提问来源于stack exchange,提问作者Srikanth

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.18 00:05:01