Power Query:在 Excel 中比较两个表格
在处理来自不同来源的数据、更新后的数据集或执行数据审计时,比较 Excel 中的两个表格是一项常见需求。常见目标包括:识别两个表格中都存在的记录、定位差异,或明确哪些条目在任一列表中缺失。例如,当您从同事或外部系统收到新数据时,往往需要将其与主列表进行比对,以快速发现更新或差异。
下方截图中的两个表格具有相同的列结构,但包含部分不同和部分匹配的记录。高效突出显示这些差异或相似之处,对数据验证和业务决策至关重要。
本教程将详细介绍如何使用 Power Query 功能比较两个表格。此外,如果您希望了解其他实用方法(包括使用公式、VBA 代码或条件格式),请参阅下方目录中列出的解决方案。
替代方案
![]() |
![]() |
![]() |
在 Power Query 中比较两个表格
Power Query 是 Excel 中用于整合与分析多源数据的强大工具。当您需要逐行比对两个表格时,Power Query 可自动完成大部分操作,有效减少手动比对错误并显著节省时间。请按照以下分步指南进行表格比对,并留意其中的注意事项与实用技巧,确保您的工作流程高效顺畅。
从两个表格创建查询
1. 选择要比较的第一个表格。在 Excel 2019 和 Excel 365 中,转到数据选项卡,然后单击来自表格/区域。参见下方截图。
提示:开始前,请先将您的表格格式化为真正的 Excel 表格(按 Ctrl+T),以便 Power Query 准确识别数据边界。

注意:在 Excel 2016 和 Excel 2021 中,菜单项显示为数据> 来自表格,功能完全相同。
如果所选内容未格式化为表格,Excel 可能会提示您创建一个。

2. 此时将打开 Power Query 编辑器窗口。您可以在此根据需要查看或清理数据,但为便于比较,可直接继续操作。单击关闭并加载> 关闭并加载至 以设置连接选项。

3. 在导入数据对话框中,选择仅创建连接,然后单击 OK。此选项可让您仅在 Power Query 中使用数据,而不会立即将其加载回工作表。参见下方截图。

4. 重复上述步骤(1–3),为第二个表格创建连接。现在,两个表格会作为独立连接出现在查询和连接窗格中,为下一步的比较做好准备。
提示:请仔细检查两个表格是否具有相同的列名和结构,以确保下一步能准确比较。

联接查询以比较两个表格
创建两个查询后,现在将它们合并,逐行比对以清晰呈现差异或匹配项。
5. 在 Excel 2019 和 Excel 365 中,选择数据选项卡,然后单击获取数据> 合并查询> 合并,即可启动合并流程。参见截图。

注意:对于 Excel 2016 和 Excel 2021,请通过数据 > 新建查询 > 合并查询 > 合并 访问此功能——操作流程完全相同。

6. 在合并对话框中:
- 在两个下拉菜单中,分别选择第一个和第二个表格查询。
- 在每个表格中选择要比较的列——按住 Ctrl 键即可选择多个列。通常,要进行真正的逐行比较,必须选择所有列。
- 选择联接类型为 Full Outer(包含两个表格中的所有行)。此选项将匹配所有行,并突出显示缺失、多余或不同的记录。
- 单击 OK 继续。

7. 此时将自动生成一个新列,用于显示来自第二个表格的匹配数据:
- 单击新列标题旁的展开按钮(两个箭头)。
- 选择展开,并勾选要在结果中包含的列(通常建议全选)。
- 点击 OK 即可插入这些列。

8. 第二个表格的数据现在会显示在第一个表格数据的旁边,便于对比记录。要将此合并数据返回 Excel,请转到主页> 关闭并加载> 关闭并加载,即可将并排对比结果添加到新工作表中。

9. 在生成的工作表中,匹配项与不匹配项一目了然:相同行并排呈现,差异则通过空白单元格或内容不同的单元格清晰标出。这种布局助您高效识别两个表格之间的唯一记录、缺失记录或已修改记录。
故障排除提示:若某些记录未按预期匹配,请检查联接列的格式是否一致,并确认源数据中无多余空格或拼写错误。Power Query 对细微差异极为敏感。

总之,Power Query 简化了在 Excel 中比较两个表格的复杂流程。一旦掌握这些步骤,您就能轻松将其应用于更复杂的数据场景,例如比较来自不同文件的表格或执行多字段匹配。在频繁处理数据更新时,将 Power Query 步骤保存为模板,可显著加快未来对类似结构数据的对比效率。若在列选择或合并过程中遇到问题,请务必检查各列的数据类型,并考虑提前删除重复行,以避免匹配错误。
如果 Power Query 对于偶尔使用的任务显得过于复杂,或者您希望直接在工作表中高亮显示差异、自动化重复性比较,也可采用下方介绍的替代方案。
Excel 公式 —— 使用公式比较两个表格
要逐行比较两个表格以精准识别差异,一种高效的方法是巧妙结合 Excel 的 TEXTJOIN 函数与 IF 公式。
假设您在 A2:C10 区域中有一个名为 Table 1 的表格,在 F1:H10 区域中有一个名为 Table 2 的表格,希望找出 Table 1 中哪些项目未出现在 Table 2 中。

1. 在 I2 单元格中输入以下公式:
=IF(TEXTJOIN("|",,A2:C2)=TEXTJOIN("|",,F2:H2), "Match", "Mismatch") 2. 随后,将公式拖拽至其他单元格即可获得结果:若每个表格中的两行完全一致,则返回“Match”;否则返回“Mismatch”。
- TEXTJOIN("|",,A2:C2) 可将 A2 到 C2 单元格中的值合并为一个文本字符串,并以竖线“|”分隔。
- TEXTJOIN("|",,F2:H2) 对 F2 到 H2 单元格执行相同的操作。
- IF 函数用于检查两个合并后的字符串是否完全相同:若相同,则返回“Match”;若不同,则返回“Mismatch”。
VBA 代码 —— 使用宏自动化比较两个表格
当您希望快速、直观地逐行比对两个表格,又不想用公式干扰工作表的整洁时,VBA 方法无疑是理想之选。这种方法尤其适合以清晰、用户友好的方式审核或验证导入的数据。
1. 单击开发工具选项卡中的 Visual Basic,即可打开 VBA 编辑器。
2. 在编辑器中,单击插入> 模块,然后将以下代码粘贴到模块窗口中:
Sub CompareSelectedTablesRowByRow()
Dim rng1 As Range, rng2 As Range
Dim rowCount As Long, colCount As Long
Dim r As Long, c As Long
Dim xTitle As String
xTitle = "Compare Tables - KutoolsforExcel"
On Error Resume Next
Set rng1 = Application.InputBox("Select the first table range:", xTitle, Type:=8)
If rng1 Is Nothing Then Exit Sub
Set rng2 = Application.InputBox("Select the second table range:", xTitle, Type:=8)
If rng2 Is Nothing Then Exit Sub
On Error GoTo 0
If rng1.Rows.Count <> rng2.Rows.Count Or rng1.Columns.Count <> rng2.Columns.Count Then
MsgBox "Selected ranges do not have the same size.", vbExclamation, xTitle
Exit Sub
End If
rng1.Interior.ColorIndex = xlNone
rng2.Interior.ColorIndex = xlNone
For r = 1 To rng1.Rows.Count
For c = 1 To rng1.Columns.Count
If rng1.Cells(r, c).Value <> rng2.Cells(r, c).Value Then
rng1.Cells(r, c).Interior.Color = vbYellow
rng2.Cells(r, c).Interior.Color = vbYellow
End If
Next c
Next r
MsgBox "Comparison complete. Differences are highlighted in yellow.", vbInformation, xTitle
End Sub
3. 要运行代码,请单击 VBA 窗口中的运行按钮,或按 F5. 系统提示时,先选择第一个表格区域,再选择第二个表格区域。宏将逐行比对两个表格中的每个单元格,若数值不同,则两个表格中的对应单元格均会以黄色高亮显示。
使用条件格式 —— 直观比较表格
条件格式提供了一种直观的方式,可直接在工作表中高亮显示差异或匹配项。当您需要在不更改原始数据的前提下识别重复值或不同值时,这种方法尤为适用,尤其适合用于并排显示的小型表格。
1. 选择您的第一个表格区域(例如,)A1:C10)。
2. 转到开始 > 使用条件格式 > 新建规则。
3. 单击使用公式确定要设置格式的单元格,并输入以下公式:=A2=F2
4. 单击格式,选择一个填充颜色,然后单击确定 > 确定 以应用该规则。
结果高亮显示的单元格表示表 1 中存在但表 2 中缺失的值。如有需要,您也可以对表 2 与表 1 重复此操作。

借助 KUTOOLS AI 解锁 Excel 的神奇功能
- 智能执行:只需输入简单命令,即可执行单元格操作、分析数据并创建图表。
- 自定义公式:生成量身定制的公式,助您优化工作流程!
- VBA 编码:轻松编写并运行 VBA 代码。
- 公式解析:轻松掌握复杂公式,一目了然!
- 文本翻译:轻松打破电子表格中的语言障碍!
最佳办公效率工具
| 🤖 | KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行 | 生成代码| 创建自定义公式 | 数据分析及生成图表| 调用 Kutools Functions…… |
| 热门功能:查找、高亮或标记重复项 | 删除空白行 | 合并列或单元格且不丢失数据 | 不使用公式的四舍五入…… | |
| 高级 LOOKUP:多条件 VLookup | 多值 VLookup | 跨多工作表 VLookup | 模糊查找…… | |
| 高级下拉列表:快速创建下拉列表 | 级联下拉列表 | 多选下拉列表…… | |
| 列管理器:添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列…… | |
| 特色功能:网格聚焦 | 设计视图 |增强编辑栏 | 工作簿和表管理器 | 资源库(自动文本)| 日期提取 | 汇总工作表 | 加密/解密单元格 | 按列表发送邮件 | 超级筛选 | 特殊筛选(筛选粗体单元格/斜体/删除线……) ...... | |
| 精选 15 工具集:12 文本工具(添加文本,删除特定字符,……)| 50+ 图表 类型(甘特图,……)| 40+ 实用公式(基于生日计算年龄,……)| 19 插入工具(插入二维码,从路径插入图片,……)| 12 转换工具(小写金额转大写,汇率转换,……)| 7 合并和拆分工具(高级合并行,分割单元格,……)|……更多 |
使用 Kutools for Excel 大幅提升您的 Excel 技能,体验前所未有的高效。Kutools for Excel 提供 300 多项高级功能,助您提升生产力、节省时间。立即点击此处,获取您最需要的功能……
Office Tab 为 Office 带来标签式界面,让您的工作更轻松
- 在 Word、Excel、PowerPoint、Publisher、Access、Visio 和 Project 中启用标签式编辑和阅读。
- 在同一个窗口的新标签页中打开并创建多个文档,而非在新窗口中。
- 将您的工作效率提升 50%,每天减少数百次鼠标点击!
所有 Kutools 插件,一个安装程序
Kutools for Office 套件捆绑了适用于 Excel、Word、Outlook 和 PowerPoint 的插件以及 Office Tab Pro,非常适合需要跨多个 Office 应用高效协作的团队。
- 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
- 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
- 协同效果更佳— 在多个 Office 应用中实现高效协同
- 30 天全功能试用— 无需注册,无需信用卡
- 超值之选— 比单独购买插件更省钱

