Excel 如何合并资料(Merge Data)#
在日常工作中,你往往会遇到需要把来自不同工作表、文件或列的数据汇总到一起的情况。Excel 提供了多种合并(Merge)方法,既可以在单列、行内进行简单拼接,也可以在多列、跨表格中做复杂合并。下面我们先从“为什么需要合并”说起,再给出三种常用的分步骤解决方案,最后整理常见问题与答案。
1. 原因分析#
| 场景 | 需要合并的原因 | 合并的目的 |
|---|---|---|
| 单列拼接 | 多个单元格中分散的文字或数字需要形成完整文本 | 生成统一的 ID、地址、姓名等 |
| 多列合并 | 同一对象在不同列存放属性 | 形成完整的记录(如姓名+性别+年龄) |
| 跨工作表/文件 | 数据来源分散、需要统一报表 | 便于汇总、分析、报表制作 |
| 去重合并 | 同一数据集的重复记录 | 生成唯一的数据列表 |
| 多表合并 | 把不同业务表中的相同字段合并 | 统一管理、生成大表 |
不同需求对应不同的合并方式:拼接、合并、去重、关联查询等。
2. 三种分步骤的解决方案#
方案 A:使用 函数(&、CONCATENATE、TEXTJOIN)#
适用于单表内部列或行的文本拼接。
步骤 1:确定拼接字段#
假设你有列 A(姓),列 B(名),需要合并成列 C(全名)。
步骤 2:在目标单元格输入公式#
= A2 & " " & B2或者使用 CONCATENATE:
=CONCATENATE(A2, " ", B2)若需要对多列拼接,建议使用 TEXTJOIN(Excel 2016+):
=TEXTJOIN(" ", TRUE, A2, B2, C2)TRUE 参数表示忽略空值。
步骤 3:向下填充#
把公式向下拖拽或复制,完成所有行的拼接。
关键提示#
- 使用
TRIM去除多余空格:=TRIM(A2 & " " & B2) - 对数字或日期格式化:
=TEXT(A2, "yyyy-mm-dd")
方案 B:使用 Power Query(获取 & 变换数据)#
适用于跨工作表、文件、甚至数据库的合并。支持去重、合并、追加、交叉等。
步骤 1:准备数据#
确保每个表格都有列标题且格式一致。
步骤 2:打开 Power Query#
数据 -> 从表/范围选择第一个表格,创建查询。
步骤 3:追加或合并查询#
- 追加(Append):将两张表的行合并为一张大表。
在查询编辑器中点击主页 > 追加查询,选择要追加的表格。 - 合并(Merge):按键值将两张表的列合并为一行。
先在查询编辑器中打开主表,点击主页 > 合并查询,选择对应键列。
步骤 4:处理重复 / 过滤#
使用 删除重复项 或 按列过滤。
步骤 5:加载结果#
点击 关闭并加载,将合并后的结果写回工作簿。
优点:可以一次性处理多张表、自动化、支持刷新。
缺点:对新手稍显复杂。
方案 C:使用 VLOOKUP / INDEX-MATCH 或 XLOOKUP(按键值合并)#
适合需要在一张表中提取另一张表数据,形成完整记录。
步骤 1:确定主键#
假设表 A 有 CustomerID,表 B 有相同的 CustomerID,你想把表 B 的 Address 合并到表 A。
步骤 2:在表 A 的新列中使用公式#
=VLOOKUP(A2, SheetB!$A$2:$B$1000, 2, FALSE)或使用 XLOOKUP(Excel 365+):
=XLOOKUP(A2, SheetB!$A$2:$A$1000, SheetB!$B$2:$B$1000, "未找到")步骤 3:向下填充#
复制公式到所有行。
关键提示#
- 对多列提取可使用
INDEX-MATCH组合。 - 若主键可能出现缺失,使用
IFERROR包装:=IFERROR(VLOOKUP(...), "")
3. 常见问题解答#
| 问题 | 说明 | 解决方案 |
|---|---|---|
| 1. 合并后出现 #VALUE! 或 #REF! | 可能是引用的单元格为空、范围错误或函数使用不当。 | 检查公式中的单元格引用;使用 IFERROR 处理错误;确保列标题一致。 |
| 2. 合并后数据出现多余空格 | & 拼接会保留原单元格中的空格。 |
在公式中使用 TRIM 或 CLEAN 去除空格。 |
| 3. Power Query 追加后出现列不匹配 | 两张表的列数或列名不一致。 | 在查询编辑器中先统一列名、使用 添加列 或 删除列 处理差异。 |
| 4. 需要合并的文件在不同文件夹 | Power Query 可以从文件夹批量读取。 | 数据 > 获取数据 > 从文件 > 从文件夹,然后按需追加。 |
| 5. 如何在合并过程中去重 | VLOOKUP 只返回第一条匹配;Power Query 可直接删除重复。 |
在 Power Query 中使用 删除重复项;在公式中使用 UNIQUE(Excel 365+)。 |
| 6. 合并后的数据量太大导致运行缓慢 | Excel 的公式会在每个单元格计算,Power Query 更高效。 | 尽量使用 Power Query 或 VBA 批处理;减少不必要的列。 |
| 7. 如何合并包含数值和文本的列并保持格式 | 直接拼接会变成文本。 | 使用 TEXT 函数对数值进行格式化,或在 Power Query 中设置列类型。 |
| 8. 如何在合并后保持原始数据不被覆盖 | 直接在原列写公式会覆盖原数据。 | 在新列插入合并结果,或使用 复制 → 仅粘贴值 方式保留合并后数据。 |
| 9. 合并后想要按某列排序 | 需要先完成合并再排序。 | 在 Power Query 的“排序”功能中排,或在 Excel 表格中使用“排序”按钮。 |
| 10. 合并后出现重复行,如何保留唯一记录 | 需要去重。 | 在 Power Query 中“删除重复项”,或在结果表中使用 UNIQUE 函数。 |
4. 小贴士#
- 使用表格(
Ctrl+T) 可让公式自动扩展,保持引用准确。 - 多种方法组合使用:先使用 Power Query 合并,再用
XLOOKUP进行细粒度填充。 - 自定义 VBA:若合并逻辑非常特殊,可写宏一次性完成,提升效率。
- 保持数据清洁:合并前先去重、去空格、统一大小写,避免后续错误。
5. 结语#
合并资料是 Excel 中最常见、最实用的操作之一。根据不同的业务需求,你可以选择简单的拼接函数、强大的 Power Query,或精准的 VLOOKUP/XLOOKUP。掌握这三种方案后,你就能轻松处理从单列拼接到跨文件汇总的各种合并任务。祝你使用愉快 🚀!