Power Query提供三种Excel多表自动合并方案:一、同工作簿内结构一致表可一键合并并支持刷新同步;二、同文件夹下多文件通过“从文件夹”批量导入合并;三、结构不一致表需先标准化列名再合并,且可添加来源标识列追踪数据归属。

如果您需要将多个Excel工作表中的数据整合到一张表格中,而手动复制粘贴效率低下且易出错,则Power Query提供了稳定、可复用的自动化合并方案。以下是实现Excel多表数据自动合并的具体操作步骤:
一、使用Power Query从同一工作簿内合并多个工作表
该方法适用于所有待合并的工作表位于同一个Excel文件中,且结构一致(列名相同、顺序相同)。Power Query会自动识别工作表并生成统一的数据源结构。
1、在Excel中打开包含多个待合并工作表的文件。
2、依次点击【数据】选项卡 → 【获取数据】→ 【来自其他源】→ 【从工作簿】。
3、在弹出窗口中选择当前文件,点击【导入】,在导航器中勾选【合并并加载到…】。
4、在“合并”对话框中,确认所有目标工作表均被选中,点击【确定】。
5、在高级编辑器中检查是否已自动生成Table.Combine函数,确保各表字段对齐无误。
6、点击【关闭并上载】,结果将自动加载至新工作表中,后续任一原始表更新后,只需右键刷新查询即可同步合并结果。
二、合并不同工作簿中同名结构的多个Excel文件
当数据分散在多个独立Excel文件(如按月存放的销售表)中,且每张表结构一致时,可利用Power Query的文件夹连接功能批量读取并合并。
1、将所有需合并的Excel文件放入同一文件夹,并确保它们不处于打开状态。
2、点击【数据】→ 【获取数据】→ 【从文件】→ 【从文件夹】。
3、在浏览窗口中选择该文件夹,点击【确定】。
4、在文件列表预览界面,点击右侧【转换数据】进入Power Query编辑器。
5、删除除【Content】列外的所有列,然后点击【Content】列右上角的展开按钮,选择【使用第一行作为标题】。
6、选中所有数据列,右键选择【更改类型】→ 【使用检测到的数据类型】,避免因混合数据类型导致整列被识别为文本而丢失数值计算能力。
三、合并结构不完全一致的多表(含列名差异处理)
当各工作表列名存在细微差异(如“订单号”“订单编号”“OrderID”)或列顺序不同时,需先标准化列名再合并,以保障字段逻辑对齐。
1、在Power Query编辑器中,分别导入各工作表,为每个查询命名(如“表1_销售”“表2_售后”)。
2、对每个查询单独操作:选中首行 → 【转换】→ 【使用第一行作为标题】,再手动重命名列,统一为标准字段名(如全部改为“订单编号”“客户名称”“金额”)。
3、完成所有查询的列名标准化后,新建空白查询,输入公式:= Table.Combine({表1_销售, 表2_售后})。
4、在合并后的查询中点击【检测数据类型】,确保数值列未被错误识别为文本。
5、最后右键各源查询 → 【属性】→ 取消勾选【启用加载】,仅保留最终合并查询加载至Excel,节省内存并加快刷新速度。
四、添加来源标识列以区分原始数据归属
在合并结果中保留原始工作表或文件名信息,便于后续追踪数据来源,尤其适用于审计或问题回溯场景。
1、在合并前的任意单个查询中,点击【转换】→ 【格式】→ 【大写】,确保表名或文件名格式统一。
2、在Power Query编辑器中,选中该查询 → 【转换】→ 【添加列】→ 【自定义列】,输入公式:= Excel.CurrentWorkbook(){[Name="Sheet1"]}[Content](替换Sheet1为实际工作表名)。
3、对每个查询重复上述操作,插入自定义列并命名为“来源表”,值设为对应表名(如"2024Q1销售")。
4、合并所有查询后,在结果中检查“来源表”列是否存在且内容准确。
5、如需从文件夹批量添加来源标识,可在文件夹查询的【Content】展开前,先添加【文件名】列,再通过【提取】→ 【文本结尾】获取不含扩展名的文件名,该列将在合并后自动带入最终结果,无需逐个设置。










