多个Excel表格可一键合并:一、Power Query批量合并(结构一致);二、公式+辅助列手动合并(少量文件);三、VBA宏全自动合并(跨表跨簿);四、Kutools图形化合并(带来源标识)。

如果您需要将多个Excel表格中的数据整合到一个工作表中,但手动复制粘贴耗时费力,则可能是由于缺乏高效的数据合并工具或方法。以下是实现多个Excel表格一键合并的几种实用方式:
一、使用Power Query批量合并(Excel 2016及以上版本)
Power Query是Excel内置的数据整合工具,可自动识别同结构的多个Excel文件并合并其数据,无需编写代码,适合结构一致的多表汇总。
1、在Excel中点击【数据】选项卡,选择【获取数据】→【从文件】→【从文件夹】。
2、浏览并选择存放所有待合并Excel文件的文件夹,点击【确定】。
3、在弹出的文件列表中,勾选【合并和加载】,点击【合并】按钮。
4、在“合并”对话框中,选择包含目标数据的工作表(如Sheet1),确认后点击【确定】。
5、Power Query编辑器自动加载并堆叠所有匹配工作表的数据,点击【关闭并上载】即可将结果写入新工作表。
二、利用Excel公式+辅助列手动合并(适用于少量文件且需保留源格式)
该方法通过INDIRECT函数动态引用其他工作簿中的单元格,配合行号偏移实现数据拼接,适合对合并过程有精细控制需求的用户。
1、将所有待合并的Excel文件置于同一文件夹,并确保全部处于关闭状态。
2、新建一个Excel文件,在A1单元格输入第一个源文件的完整路径,例如:C:\报表\1月.xlsx。
3、在B1单元格输入公式:=INDIRECT("'["&A1&"]Sheet1'!A1"),回车后显示对应单元格内容。
4、向下拖拽填充该公式至所需行数,再向右扩展列引用,完成单个文件数据提取。
5、复制A1单元格内容替换为第二个文件路径,重复步骤3–4,将新数据追加至下方空行区域。
三、借助VBA宏实现全自动合并(支持跨工作表、跨工作簿任意范围)
VBA脚本可一次性扫描指定文件夹内所有Excel文件,读取每个文件的首张工作表(或指定名称工作表),按顺序追加至当前工作簿的目标工作表中,执行效率高且可重复调用。
1、按Alt+F11打开VBA编辑器,插入【模块】,粘贴以下代码段:
Sub MergeExcelFiles()
Dim Path As String, FileName As String, Wb As Workbook, Ws As Worksheet
Path = "C:\待合并文件\" '请替换为实际文件夹路径
FileName = Dir(Path & "*.xlsx")
Do While FileName ""
Set Wb = Workbooks.Open(Path & FileName)
For Each Ws In Wb.Worksheets
Ws.UsedRange.Copy ThisWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Offset(1, 0)
Next Ws
Wb.Close False
FileName = Dir
Loop
2、修改代码中Path = "C:\待合并文件\"为您的实际文件夹路径,注意末尾保留反斜杠。
3、按F5运行宏,脚本自动遍历该路径下所有.xlsx文件并合并首张工作表内容至当前工作簿Sheet1底部。
四、使用第三方免费工具:Kutools for Excel(需安装插件)
Kutools提供图形化界面的“合并工作表”功能,支持按列匹配标题、跳过空行、添加来源标识等高级选项,操作直观,适合不熟悉代码与查询逻辑的办公人员。
1、安装Kutools for Excel插件后,在Excel顶部菜单栏出现【Kutools】选项卡。
2、点击【Kutools】→【工作表】→【合并工作表】。
3、在向导界面中,点击【添加文件】按钮,选择全部待合并的Excel文件。
4、勾选【根据标题行匹配列】,并设置【合并到活动工作簿】为目标位置。
5、点击【完成】,工具自动生成新工作表,其中每行数据上方插入原文件名与工作表名作为前缀标识。









