power query可自动化合并多个结构相似的excel工作表:先统一数据格式与列名,再通过“从工作簿”导入并全选工作表,用table.combine合并后提升标题,添加来源列标识,最后加载至指定位置并支持一键刷新。

如果您需要将多个结构相似的Excel工作表合并为一个统一的数据表,手动复制粘贴不仅耗时且易出错。Power Query提供了一种无需编写代码的自动化方式,可批量导入、清洗并合并多张工作表。以下是实现该目标的具体操作流程:
一、准备原始数据结构
确保所有待合并的工作表位于同一工作簿中,且各表具有相同的列标题与数据格式。若存在空白行、汇总行或表头不一致的情况,Power Query可能无法正确识别字段。建议先统一删除非数据行,并确认首行为标准标题行。
1、打开目标Excel文件,检查每个工作表是否以纯数据形式存在,无合并单元格、无空行、无重复标题。
2、确认所有工作表的列名完全一致,包括大小写和空格,例如“销售日期”不能有的写成“销售日期 ”或“销售日 期”。
3、关闭所有其他Excel文件,仅保留当前待处理的工作簿处于打开状态。
二、启动Power Query并获取全部工作表
通过“数据”选项卡中的“来自工作簿”功能,让Power Query自动识别当前文件内的所有工作表,并生成导航器列表,为后续合并提供基础数据源。
1、在Excel中点击顶部菜单栏的“数据”选项卡。
2、点击“获取数据” → “从文件” → “从工作簿”,在弹出窗口中选择当前正在编辑的Excel文件,点击“导入”。
3、在导航器窗口中,勾选“选择多个项目”复选框,然后全选所有需合并的工作表名称(按住Ctrl键逐个点击),点击“转换数据”。
三、合并查询并提升标题
将多个独立查询整合为单一查询后,需统一应用“使用第一行作为标题”,使各表字段对齐。此步骤确保不同工作表的相同列名被识别为同一字段,避免后续出现冗余列或类型冲突。
1、在Power Query编辑器左侧查询窗格中,右键任意一个已加载的表名,选择“参考”,新建一个空白查询。
2、在新查询的公式栏中输入:= Table.Combine({#\"Sheet1\", #\"Sheet2\", #\"Sheet3\"})(将Sheet1/Sheet2/Sheet3替换为实际工作表查询名称)。
3、选中合并后的结果表,点击顶部“转换”选项卡 → “使用第一行作为标题”。
四、添加来源标识列以区分原始工作表
合并后若需追溯每行数据来自哪张工作表,可通过添加自定义列的方式嵌入原始工作表名称。该列在分析阶段可用于筛选、分组或条件着色。
1、在Power Query编辑器中,点击“转换”选项卡 → “格式” → “小写”,确保所有列名统一为小写便于后续处理(可选但推荐)。
2、点击“转换”选项卡 → “格式” → “清理”,去除各列中首尾空格及不可见字符。
3、点击“转换”选项卡 → “格式” → “大写”,将新增的“Source.Name”列内容统一格式化(若此前已添加该列)。
五、加载结果至Excel工作表
完成清洗与结构校验后,将最终合并数据输出到Excel指定位置。系统默认加载至新工作表,也可手动指定现有工作表的起始单元格。
1、点击Power Query编辑器左上角的“关闭并上载”下拉箭头”。
2、选择“关闭并上载至…”,在弹出窗口中勾选“表”,并指定放置位置为“现有工作表”的某个单元格(如$A$1)。
3、点击“确定”后,合并结果将实时写入Excel,且保持与Power Query的连接关系,后续源工作表更新后,仅需右键结果表选择“刷新”即可同步最新数据。










