Excel 怎么合并多个工作簿(多个 Excel 文件)
各分店一个文件、各月一个文件——到了月底要把它们合成一张总表,这是 Excel 用户最头疼的场景之一。本文从最简单的复制粘贴讲到 Power Query 自动化方案,最后教你用超级表把多个文件一起导入、一键纵向合并,新增文件随时也能并进来。
先说清楚本文和合并多个工作表的区别:工作表合并是把同一个 Excel 文件里的多个 Sheet 叠到一起;本文说的是把多个独立的 .xlsx / .csv 文件合并——每个文件都是单独的工作簿,你要把它们汇成一张总表。
办法一:挨个复制粘贴(少量文件还行,多了崩溃)
最朴素的方法:打开第一个文件,全选数据,复制;切到汇总表,找到第一行空行,粘贴;再打开第二个文件,重复一遍……
三五个文件、每个文件几百行,这么做还凑合。但只要文件超过十个,或者每个文件本身就有几千行,你就会碰到这些问题:
- 粘贴时忘了跳过表头,表头被当数据行一起粘进去,后面要手动一行一行删;
- 某个文件的列顺序和其他文件不一样,粘完发现数据全错位;
- 下个月又来一批新文件,重新手动来一遍;
- 文件多了,不知道哪几个已经粘过,哪几个还没粘,容易漏或重复。
办法二:Power Query 从文件夹合并
Excel 内置了 Power Query,支持把整个文件夹里所有 Excel 文件一次性合并。大致步骤如下:
- 把要合并的所有 .xlsx 文件放进同一个文件夹。
- 在 Excel 里点「数据」→「获取数据」→「来自文件」→「从文件夹」,选中这个文件夹。
- 预览列表里会显示文件夹内所有文件;点「合并并转换数据」(或「合并并加载」)。
- Power Query 会弹出一个示例文件对话框,让你选一个文件作为结构参考,确认后它会把其他文件按同样结构提取并纵向追加。
- 在 Power Query 编辑器里可以删掉不需要的列、重命名列、修改数据类型,完成后点「关闭并上载」把结果输出到 Excel 表格。
之后如果文件夹里新增了文件,只需在结果表里右键刷新,Power Query 会重新扫文件夹,把新文件也合进来。
这些办法的麻烦
复制粘贴的问题前面已经说了;Power Query 虽然强大,但也有几道坎:
- 学习成本不低。Power Query 有自己的 M 语言,步骤列表、查询依赖关系对初次接触的人来说很陌生。出错了不知道哪一步出的问题,调试起来费劲。
- 每次必须手动刷新。新文件加进文件夹后不会自动感知,你需要记得手动右键刷新,忘了就用的是旧数据。
- 结构不齐会直接报错。如果各文件的列名、列顺序不完全一致(比如某个月的表多了一列,或者有人把「销售额」写成了「销售金额」),Power Query 的示例文件步骤就会出问题,需要手动在编辑器里修正映射关系。
- macOS 版 Excel 体验差。Windows Excel 的 Power Query 功能完整;macOS 版的「从文件夹」功能历史上有过缺失或体验不一致的问题,如果你用 Mac 可能会遇到额外麻烦。
- 结果是静态快照。合并结果输出到 Excel 表格后,格式、数据类型需要再检查一遍;跨表联动、汇总等进一步操作还要再折腾一轮。
更省事:超级表多文件导入一键合并
超级表(TableDI)是桌面端高能表格助手,macOS / Windows 均可用,完全本地离线,不用登录。它把「把多个文件合并成一张表」做成了一个直接的操作,不需要 Power Query、不用记步骤。
- 一起导入多个文件。直接把多个 .xlsx 或 .csv 文件同时拖入超级表,或者通过「导入」菜单批量选中,每个文件会作为一个独立数据源加载进来。
- 选择合并方式。在「多表合并」工具里,选择「纵向堆叠」(把各文件的行一行行叠在一起组成总表)。如果各文件列名略有差异,可以在这一步手动对齐列映射。
- 勾选「标注来源文件」(可选)。合并后的总表会自动新增一列记录每行来自哪个文件,方便你追溯原始数据。
- 完成。合并结果立刻呈现。新增文件时,把新文件拖进来,选择并入现有合并表,数据就追加进去了——不需要重新走一遍流程。
合并完的总表还可以直接接跨表引用自动更新或进一步做汇总、筛选、透视,数据留在本地,不上云。
两种方案对照
| 对比项 | Power Query 从文件夹 | 超级表多文件合并 |
|---|---|---|
| 操作门槛 | 需要学 Power Query / M 语言 | 拖入文件、点合并,无需学新工具 |
| 新增文件 | 需记得手动刷新 | 把新文件拖进来直接并入 |
| 列顺序不同 | 示例文件步骤会报错,要在编辑器修复 | 可视化列对齐,手动拖拽匹配 |
| 标注来源文件 | 需自写 M 步骤 | 勾选即可自动生成来源列 |
| macOS 支持 | 历史上有缺失或不稳 | macOS / Windows 一致 |
| 进一步分析 | 输出到 Excel 后再操作 | 合并结果直接联动汇总 |
| 离线 / 本地 | 依赖 Excel 桌面版 | 纯本地,不上传 |
常见问题
各文件列顺序不同,能合并吗?
可以。超级表在合并前会让你对齐列映射——把不同文件里叫法略有差异的列手动对应起来,对齐之后再做纵向堆叠,不会因为列顺序不同而错位。Power Query 也能做,但需要在 M 编辑器里手动添加步骤。
怎么标注每行数据来自哪个文件?
超级表的合并工具里有「标注来源文件」选项,勾选后合并结果会自动多出一列,记录每行来自哪个原始文件名。这对多分店、多月份的数据尤其有用,方便后续按来源筛选或分组。
合并后能做按条件汇总吗?
可以。合并好的总表就是一张普通的数据表,可以直接做 SUMIF / SUMIFS 等条件汇总。如果不想写公式,可以看按条件分类汇总那篇的超级表做法——点选分组列和汇总列,不用写函数。