可利用Power Query批量合并多个Excel文件数据:先统一源文件结构,再通过“从文件夹”导入自动汇总;或对工作表名不一的文件逐个导入后追加查询;还可配合VBA实现一键刷新与自动保存。

如果您需要将分散在多个Excel文件中的数据整合到一个工作表中,而手动复制粘贴效率低下且易出错,则可以利用Power Query的批量合并功能实现自动化汇总。以下是具体操作步骤:
一、准备统一结构的源文件
Power Query要求所有待合并的工作簿中,目标工作表具有相同的列名与列顺序,否则合并后可能出现空值或错位。建议提前检查各文件的首行标题是否一致,并确保数据区域无空行或合并单元格。
1、将所有需合并的Excel文件放入同一文件夹中。
2、确认每个文件内目标工作表名称相同(例如均为“销售数据”)或均使用默认的Sheet1。
3、关闭所有待合并的Excel文件,避免Power Query读取时被占用。
二、使用Power Query从文件夹导入并合并
此方法通过“从文件夹”入口一次性加载全部Excel文件内容,再筛选有效工作表并提升为表格结构,最终堆叠合并。
1、在Excel中点击【数据】选项卡,选择【获取数据】→【从文件】→【从文件夹】。
2、浏览并选中存放所有Excel文件的文件夹,点击【确定】。
3、在导航器窗口中,勾选【Content】列右侧的复选框,点击【转换数据】进入Power Query编辑器。
4、在Power Query编辑器中,右键【Content】列,选择【提取值】→【不带分隔符】。
5、点击【高级编辑器】,将原有代码中关于二进制内容解析的部分替换为以下逻辑(若自动识别为Excel格式则跳过此步):添加自定义列,使用Excel.Workbook([Content], null, true)解析。
6、展开【Content】列,勾选【Name】和【Data】字段,取消勾选【Kind】。
7、筛选【Name】列,仅保留目标工作表名称(如“销售数据”)。
8、展开【Data】列,勾选所有列,取消勾选【使用原始列名作为前缀】。
9、点击【关闭并上载】,数据将自动合并至新工作表。
三、使用Power Query从多个工作簿直接导入并追加
当各文件结构一致但工作表名称不统一时,可逐个导入再手工追加查询,适用于文件数量较少(如10个以内)且需对个别文件做预处理的场景。
1、点击【数据】→【获取数据】→【从工作簿】,依次选择第一个Excel文件,点击【导入】。
2、在导航器中选择对应工作表,勾选【启用隐私级别】,点击【加载】。
3、重复上述步骤,为第二个文件创建新查询,但选择【仅创建连接】而非加载。
4、在Power Query编辑器中,右键第一个查询名称,选择【追加查询】→【将查询追加为新查询】。
5、在弹出窗口中选择第二个查询,点击【确定】。
6、对后续文件重复步骤3–5,每次将新查询追加至已合并的主查询中。
7、全部追加完成后,在主查询中点击【关闭并上载】。
四、通过VBA辅助触发Power Query刷新与保存
当合并后的数据需定期更新且目标文件夹路径固定时,可配合VBA脚本一键刷新所有Power Query连接,并导出为新汇总文件,避免重复手动操作。
1、按Alt+F11打开VBA编辑器,插入新模块。
2、输入以下代码片段:ThisWorkbook.RefreshAll。
3、另起一行添加:ActiveWorkbook.SaveCopyAs "C:\汇总\最新汇总_" & Format(Now, "yyyymmdd_hhmm") & ".xlsx"。
4、关闭VBA编辑器,返回Excel,按Alt+F8运行该宏。
5、确认所有Power Query连接已设置为【启用后台刷新】,并在【数据】→【查询和连接】窗格中检查连接状态。








