Power Query自动合并同结构文件夹内所有Excel文件是Windows下最稳定、免安装、不卡顿的原生方案,适用于Excel 2016及以上版本。

你需要把散落在不同Excel文件里的销售、库存或客户数据一次性整合进一张表里,避免手动复制粘贴出错、漏行、格式错乱,且不希望装额外插件或写代码。
用Power Query自动合并同结构文件夹内所有Excel文件
这是Windows系统下最稳定、免安装、不卡顿的原生方案,适用于Excel 2016及以上版本(含Microsoft 365)。
1. 把所有要合并的.xlsx文件统一放进一个**空文件夹**中,确保它们结构一致(列名、顺序、数据类型相同)。
2. 新建一个空白Excel工作簿 → 切换到【数据】选项卡 → 点击【获取数据】→【从文件】→【从文件夹】。
3. 在弹出窗口中定位并选中刚才创建的文件夹 → 点击【确定】。
4. 在查询预览界面,勾选【合并和加载】下拉箭头 → 选择【合并和加载到…】→ 在弹出对话框中确认【Content】列为数据源 → 点击【确定】。
5. Power Query编辑器自动打开,左侧列名为【Content】;双击该列右上角的展开图标(两个上下箭头)→ 弹窗中取消勾选【Name】和【Extension】→ 仅保留你要的数据列 → 点击【确定】。
6. 此时数据已堆叠完成,检查首行是否为正确表头;如有重复标题行,选中该行 → 右键【删除行】→【删除所选行】。
7. 点击左上角【关闭并上载】→ 数据将自动载入新工作表的A1单元格起始位置。
用VBA宏一键合并同一文件夹下所有工作簿(无需公式基础)
适合需要反复执行、且目标工作表固定(如总表始终叫“汇总”)的场景。操作前请先备份原始文件。
方法一:直接运行预设宏
1. 在待合并文件所在文件夹内新建一个Excel文件,命名为“总表.xlsx”。
2. 按 Alt + F11 打开VBA编辑器 → 左侧工程资源管理器中右键【ThisWorkbook】→【插入】→【模块】。
3. 将以下代码完整粘贴进右侧空白窗口(注意替换第2行中的实际路径):
Path = "D:\我的表格\待合并\" '末尾必须加反斜杠
Filename = Dir(Path & "*.xlsx")
Do While Filename ""
If Filename ThisWorkbook.Name Then
Set wb = Workbooks.Open(Path & Filename)
wb.Sheets(1).UsedRange.Copy ThisWorkbook.Sheets("汇总").Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
wb.Close False
End If
Filename = Dir
Loop
4. 关闭VBA编辑器 → 返回Excel → 按 Alt + F8 → 选择宏名 → 点击【运行】。
【注意】目标工作表“汇总”必须预先存在,且首行应为表头;若不存在该Sheet,宏会报错中断。
用“合并计算”功能按类别汇总多个工作表(不跨文件,仅限当前工作簿)
当你已有多个Sheet放在同一个Excel文件里,且每张表都有相同的行标签(如“产品A”“区域北”),想按名称自动归集求和、计数或平均值,就用这个。
第一步:在空白工作表中选定结果存放起点(如A1单元格)。
第二步:切换到【数据】选项卡 → 点击【合并计算】→ 在函数下拉菜单中选择【求和】(或其他需要的汇总方式)。
第三步:在【引用位置】框中,依次点击各源工作表的标题行+数据区(例如Sheet1!$A$1:$E$100),每点一次后点击【添加】按钮,直到全部加完。
第四步:勾选【首行】和【最左列】→ 点击【确定】。
此时Excel会按行标签和列标签自动对齐匹配,并在目标区域生成汇总结果。若某行在某个Sheet中缺失,对应位置显示#N/A,需检查源表标签是否完全一致(包括空格、大小写)。











