如何将 多个 excel表格的数据汇总到另 一个 表中
所属主题:数据透视表分组汇总 Excel 数据透视表分析
将多个 Excel 表格的数据汇总到另一个表中,最短的路径是用 Power Query(Excel 内置的数据合并工具),不需要写任何公式。如果只有 2–3 个结构相同的表,用 VSTACK 函数一步就能完成。如果表结构不一致或需要定期更新,优先用 Power Query —— 它能在每次刷新源文件时自动重算汇总结果。
在 Excel 中哪里找
- Power Query:
数据>获取数据>从文件>从 Excel 工作簿。Excel 2016 及之后版本内置,Microsoft 365 和 Excel 2021 功能最完整。Excel for web 只支持刷新已有的 Power Query 查询,不能从零创建。 - VSTACK 函数:在公式栏输入
=VSTACK(范围1, 范围2, ...)。要求 Excel 365 或 Excel 2021 及以上版本。 - 数据透视表多重合并:按
Alt+D+P调出旧版向导(快捷键需按顺序,不要同时按),适合结构略有差异的快速汇总,但不适合大表或自动化。
分步示例
假设你有两个销售表,结构相同:日期、区域、产品、金额。想把它们汇总到一个新表中。
方法一:VSTACK 函数(最快,适合少量表)
=VSTACK(表1!A1:D100, 表2!A1:D100) 其中 表1!A1:D100 是第一个表的数据区域,表2!A1:D100 是第二个表的数据区域。
- 打开一个空白工作表。
- 在 A1 单元格输入:
- 按回车。Excel 自动把两个表的数据纵向堆叠在一起。
预期结果:如果表1有 30 行数据、表2有 45 行数据,新表从 A1 开始显示 75 行(含各自的标题行)。标题行会重复出现,建议公式写成 =VSTACK(表1!A2:D100, 表2!A2:D100) 跳过标题,然后手动在第一行加上统一标题。
方法二:Power Query(适合多个表、定期更新)
数据>获取数据>从文件>从 Excel 工作簿,选择你存放源表的工作簿。- 在导航器中勾选需要汇总的多个工作表(按住 Ctrl 可以多选)。
- 点
转换数据进入 Power Query 编辑器。 - 在左侧查询面板中,每个选中的表就是一个查询。点
主页>追加查询>将查询追加为新查询。 - 在对话框中,把左边"可用表"里的所有表添加到右边"要追加的表"。
- 点确定。Power Query 把全部表纵向合并成一个新查询。
关闭并上载到新工作表。
之后源表有变动时:右键点击汇总表的任意单元格 > 刷新,结果会自动更新,不需要重新做任何步骤。
方法三:数据透视表多重合并(快捷键 Alt+D+P)
- 按
Alt+D+P,调出"数据透视表和数据透视图向导"。 - 选择"多重合并计算数据区域" > "下一步"。
- 逐一添加每个表的区域(包括标题行)。
- 完成。Excel 生成一个数据透视表,行、列、值分别对应源表的字段结构。
这个方法生成的透视表会自动为每个源表添加一个"页筛选"字段,方便区分数据来源。
公式与快捷键示例
VSTACK 的实际写法(带标题处理):
假设表1在第2到第101行有数据(第1行是标题),表2在另一个工作表的相同位置: `` =VSTACK(表1!A2:D101, 表2!A2:D101) ` 可以在同一工作簿的任意空白位置输入。别忘记把区域末尾的行号扩大一点,比如 A2:D101 写成 A2:D200`,这样新增行时公式会自动覆盖。
用 INDIRECT 构建动态区域(适用于多个结构完全相同的表):
如果表名有规律(如 一月、二月、三月),可以结合 INDIRECT 和 SEQUENCE 实现批量引用,但初学不推荐先试这个——先掌握 VSTACK 和 Power Query 就好。
快捷键:
| 动作 | 快捷键 | |---|---| | 调出数据透视表向导(多区域合并) | Alt + D + P(依次按下,不要同时) | | Power Query 刷新 | Ctrl + Alt + F5 | | 选中当前数据区域 | Ctrl + A(先点区域内任意单元格) |
常见错误
1. 数字存成了文本格式
现象:汇总后金额列的数字靠左对齐,求和结果为 0。原因:源表中的数字单元格左上角有绿色三角标记,说明是文本格式。 检查方式:选中该列,看 开始 > 数字 格式是否为"文本"。改为"数值"或"常规"后,双击公式再回车才会触发重算。
2. 区域没有用绝对引用
现象:VSTACK 公式下拉复制后引用的范围跑偏,漏掉部分数据。 修复:在公式中用 $A$2:$D$101 锁定区域(按 F4 切换)。VSTACK 本身是数组公式,不需要下拉复制,但引用的范围建议锁定。
3. 查找键里有隐藏空格
现象:明明两个表里有相同的产品名称,但汇总后对不上。 检查方式:用 =LEN(单元格) 对比两个表里看似相同的值的字符长度。例如 ="苹果" 和 ="苹果 "(末尾多一个空格)在 Excel 中会被视为不同值。 处理:在源表中用 =TRIM(单元格) 清理多余空格。
4. 匹配模式选错
如果用到 XLOOKUP 或 VLOOKUP 做匹配汇总:
VLOOKUP的第四个参数要写FALSE(精确匹配)。不写或写TRUE会返回近似匹配,结果不可控。XLOOKUP的第三个参数不写时默认精确匹配,比 VLOOKUP 安全。
故障排查自检清单
当汇总结果不对劲时,按以下顺序排查:
- 点任意一个源表数据单元格,看
开始>数字格式是否全部为"常规"或"数值"。文本格式的数字先转换。 - 用
=TRIM(源表!A1)检查源表关键列是否有前后空格。 - 在汇总结果旁边手动输入一个已知正确的值做对照,确认公式引用位置是否正确。
- 确认源表和汇总表没有循环引用(
公式>错误检查>循环引用)。 - 如果是 Power Query,检查查询是否报错——在 Power Query 编辑器中看左侧查询是否有红色叉号。
什么时候不用继续操作
- 如果源表的结构(列数、列顺序、列名称)不统一,不要试图用 VSTACK 硬堆——每个结果字段都会按列位置对齐,不对齐就会串数据。先统一结构再做后续操作。
- 如果超过 10 个大型表格(每个表万行以上),手动刷新的 Power Query 会越来越慢。这时考虑把源数据存入数据库或用 Excel 的 Power Pivot。
FAQ
如何将 多个 excel表格的数据汇总到另 一个 表中 是什么?
这是把多个工作表(在同一个工作簿或不同工作簿)中的数据纵向拼接到一张新表或新工作表中的操作。常见场景包括:月度销售数据合并、各部门考勤汇总、多个分公司的报表拼接等。核心目标是避免手动复制粘贴,减少错误,提高重复工作的效率。
如何将 多个 excel表格的数据汇总到另 一个 表中 怎么操作?
推荐按数据量和更新频率选方法:
- 2–5 个结构相同的表,一次性操作:VSTACK 函数,一行公式搞定。
- 5 个以上的表,或需要定期更新:Power Query,设置一次后每次右键刷新即可。
- 表结构有微小差异:数据透视表多重合并(Alt+D+P),容纳一定的结构变化。
- 需要同时筛选、汇总、计算:先 Power Query 合并,再用数据透视表分析合并后的数据。
如何将 多个 excel表格的数据汇总到另 一个 表中 常见错误有哪些?
最常见的有四类:
- 数字被存成文本 → 汇总后求和为 0 或结果错误。
- 区域没有用绝对引用 → 公式复制时引用偏移。
- 表的列顺序不一致 → VLOOKUP 或结构对齐时取错了列。
- 隐藏空格或不可见字符 → 本该匹配的值匹配不上。
对这些错误,用 TRIM、VALUE 或 CLEAN 函数清洗源数据后再汇总。
继续阅读
- 需要时再对照 excel如何设置跨多行/跨多列的表格单元。
- 可以继续看 excel月报模板。
- 建议接着读 excel 跨表 引用 使用相对位置。