多个 Excel 表格按相同列合并成一张表

三张以上 Excel 表格怎么根据一个或多个相同列合并成一张表?本文说明何时用纵向堆叠、何时按关键列匹配,给出 XLOOKUP 与 VLOOKUP 的操作步骤、多列关键字写法和合并后的核对方法。

如果你手里有三张、四张甚至更多的 Excel 表格,每张都记录了同一批人或同一批产品的不同信息,比如员工编号对应的部门、工资和考勤,你大概率需要把它们拼成一张完整的表。直接复制粘贴很容易错行,行数一多,人工对齐几乎不可能不出错。

这类需求的关键在于"按什么对齐"。用 Excel 把多个表根据相同数据合并,本质是找一列各表共有的标识,比如编号、订单号或日期加门店,把其他表的信息逐行匹配过来。这篇文章讲三张以上表格怎么按一个或多个相同列合并,并说明它和简单纵向堆叠的区别。读完后,你可以自己搭出一张合并表,并检查结果是否对齐。

下面的方法以 Excel 的通用函数为例。XLOOKUP 需要较新的版本,较早的版本可以把它换成 VLOOKUP。如果表格原本嵌在 PDF 里,可以先转成 Excel 再处理。

多个表怎么合并?一句话结论

先看各表是"字段相同、行数不同",还是"字段不同、靠同一编号对应"。前者纵向堆叠,后者按关键列匹配。

你的情况推荐做法原因
几张表的列名和含义完全相同,只是月份或部门不同纵向堆叠,把所有行接在一张表下面没有需要对齐的内容,直接追加行即可
每张表都有同一个编号列,要把其他字段补到主表以主表为准,用 XLOOKUP 按编号逐列取值按编号对齐,每行结果都能追溯到源表
单个编号不足以区分每一行,例如"日期 + 门店"在各表新增辅助键列,拼接多列后再匹配辅助键把多列变成一个可比较的值
编号在某张表里重复出现先去重或汇总,再做匹配重复会让一行主表记录对应多行结果,行数对不上
表格原本嵌在 PDF 里先把 PDF 导出为 Excel,再按上面的方法合并合并前需要的是可编辑的数据表

开始之前:先确认这几点

动手前花几分钟检查,能省掉大部分返工。

  • 确定主表。 主表是最终要保留全部行的那张表,其他表的信息都会匹配到它上面。主表选错,结果会缺行或多出空行。
  • 确认关键列在各表中的含义一致。 同样叫"编号"的列,可能一张表是员工号,另一张表是工号加部门代码。内容不一致时,匹配出来的数字看似正确,实际上对不上人。
  • 检查数据格式。 文本型数字(如"1001")和真正的数字(1001)在 Excel 中不会被视为相等。日期也可能一张表是日期格式,另一张表是文本。
  • 检查空格和大小写。 末尾多出的一个空格,或全角与半角的差异,都会让匹配失败,而肉眼几乎看不出来。
  • 保留原表备份。 合并过程会新增列和公式,建议另存为一个新文件再操作,原始数据留作核对的依据。

在 Excel 里按一列编号合并三张表的步骤

以主表 A 列为员工编号、表 2 的 A 列为同一编号、C 列为部门为例:

  1. 选定主表并标出关键列。 确认主表的编号在 A 列,表 2 和表 3 也有对应的编号列。
  2. 统一关键列格式。 把各表的编号列设为相同的格式,并用查找替换去掉多余空格,必要时用 TRIM 函数清理。
  3. 在主表右侧新增一列,写入匹配公式。 例如在 D2 输入 =XLOOKUP($A2,表 2!$A:$A,表 2!$C:$C,"未找到")。其中"表 2"换成实际的工作表名。
  4. 向下填充公式。 把 D2 的公式拖动或双击填充柄,应用到主表的最后一行。
  5. 对表 3 重复同样的操作。 把结果放在 E 列,公式中引用表 3 的编号列和要取回的列,不要误用表 2 的区域。
  6. 筛选"未找到"并逐一核对。 有些是真的缺少记录,有些是格式或空格导致的假缺失,需要分别处理。
  7. 固定结果后另存。 确认无误后,选中公式列复制,再用"选择性粘贴为数值"替换原公式,避免源表改动后结果跟着变化,最后另存为新文件。

如果你的 Excel 版本不支持 XLOOKUP,可以把第 3 步的公式换成 =VLOOKUP($A2,表 2!$A:$C,3,FALSE)。这里的 3 表示从 A 到 C 区域的第 3 列,即部门所在列,FALSE 表示精确匹配。

两个表根据多个相同数据合并怎么做?

当一个编号不足以区分每一行时,比如同一员工在不同月份都有记录,就需要用多列作为关键字。做法是在每张表中新增一列辅助键,把关键列拼接成一个值:

  • 在主表和源表的空白列输入 =A2&"|"&B2,其中 A 列是第一个关键列,B 列是第二个关键列。
  • 用"|"之类的分隔符,避免 "1" 和 "11" 拼接后产生歧义。
  • 拼接的每一列都要格式统一,日期建议统一转为文本或同一种日期格式。
  • 之后按辅助键列做匹配,公式与单列时相同,只是查找值换成辅助键列。

三张以上表格时,每张表都要有同样结构的辅助键,否则匹配结果无法对应。

📊 核心对比

对比维度纵向堆叠按关键列合并
适用情况字段完全相同,内容是追加关系字段不同,内容是补充关系
结果行数等于各表行数之和通常等于主表行数,前提是源表关键列不重复
对齐依据不需要对齐,按位置接续按关键列的值逐行对应
常见错误列顺序不一致,导致数据错位格式或空格不一致,导致大量"未找到"

做完后逐项核对

合并完成后,不要直接交付,至少检查以下几项:

检查项怎么看有问题怎么办
行数合并后的主表行数应与原主表一致行数变多,说明源表关键列有重复,先去重或汇总再匹配
未找到的值筛选"未找到"或 #N/A 的单元格检查格式和空格;确认仍缺失时,标注原因而不是随意填补
抽样对照随机选 5 行,回到源表人工比对不一致时检查公式引用的区域是否错位,例如是否少写了美元符号
数字与日期看是否变成数字串或日期错乱统一格式后重新匹配,并确认显示与实际值一致
公式是否已固定点开单元格,看是否仍是公式需要存档或发送时,转为数值,避免源表变动后结果变化

❓ 常见问题(FAQ)

1. 合并后大量出现 #N/A,是怎么回事?

多数情况是关键列格式不一致或有多余空格。先用 TRIM 清理空格,再把文本型数字统一转为数字,重新匹配即可。确认仍无对应记录时,才说明源表确实缺数据。

2. 同一个编号在源表里出现多次,怎么合并?

匹配函数默认只取第一条记录,其他记录会被忽略。合并前先统计重复,用 COUNTIF 判断哪些编号重复;如果需要保留全部信息,应先汇总(如求和、取新一条),再做匹配。

3. 三张表的关键列名字不一样,要改名吗?

不需要。列名只是标题,匹配看的是单元格内容。在公式中分别指定各表的关键列和取值列即可,只要内容代表同一个对象。

4. 表格在 PDF 里,怎么先转成 Excel?

可以用 OmniDoc 桌面客户端(download.omnidoc.top)的 PDF 编辑器,把 PDF 导出为 Excel。扫描版 PDF 需要先做 OCR 识别再导出。导出后仍要核对数字和列是否对齐,再进行合并。

📝 总结

用 Excel 把多个表根据相同数据合并,关键是先判断是纵向堆叠还是按关键列匹配,再统一关键列的格式。按上面的步骤搭好公式后,用行数、未找到的值和抽样对照做三道核对,合并表就比较可靠了。

打开 OmniDoc,处理你的表格文件

更新于 2026-11-04