KutoolsforOffice — 一套方案,五大工具。事半功倍。

如何使用 VLOOKUP 函数对比两个独立工作表中的列表?

作者Xiaoyang修改日期

示例工作表1

示例工作表2

假设您有两张工作表,每张都包含一个名称列表,如上图所示。您可能希望检查 Names-1 中的哪些名称也存在于 Names-2 中。手动执行此类比较(尤其是在处理长列表时)既繁琐又极易出错。本文将为您介绍几种高效方法,助您快速、准确地比较两个列表,并轻松找出不同工作表中的匹配项!

使用公式通过 VLOOKUP 比较两个独立工作表中的列表

使用 Kutools for Excel 通过 VLOOKUP 比较两个独立工作表中的列表

使用条件格式跨工作表公式法

VBA 代码 —— 自动比较列表并高亮或提取匹配项


使用公式通过 VLOOKUP 比较两个独立工作表中的列表

比较位于不同 Excel 工作表中的列表,一种实用且直接的方法是使用 VLOOKUP 函数。该方法可高效提取或标记同时出现在 Names-1Names-2 中的所有名称:

1. 在 Names-1 工作表中,选择紧邻列表数据的单元格(例如 )B2),然后输入以下公式:

=VLOOKUP(A2,'Names-2'!$A$2:$A$19,1,FALSE)

然后按 Enter。如果当前行中的名称存在于 Names-2 中,公式将返回该名称;否则会显示 #N/A 错误。如下例所示:

使用公式比较两个列表

2. 通过拖动填充柄将公式向下复制,即可将 Names-1 中的每个名称与 Names-2 中的所有名称逐一比对:匹配项将显示对应名称,未找到的项则显示错误值:

拖动公式以获取结果

注意事项:

1. 为更清晰地呈现匹配结果,您可以使用以下替代公式,以“是”或“否”明确指示:

=IF(ISNA(VLOOKUP(A2,'Names-2'!$A$2:$A$19,1,FALSE)), "No", "Yes")

该公式对两个工作表中都存在的名称显示“是”,仅在 Names-1 中出现的名称则显示“否”:

另一个用于获取“是”和“否”结果的公式

2. 使用这些公式时,请将 A2 替换为列表中的首个单元格,将 Names-2 替换为参考工作表的名称,并将 $A$2:$A$19 调整为实际的数据区域。请注意,区域的起止行必须设置正确,以确保完整包含所有数据。

3. 使用技巧:如果在应有匹配的位置出现 #N/A 错误,请仔细检查列表中是否存在多余空格、数据格式不一致(如文本与数字混用)或拼写错误。如有需要,可在辅助列中使用 TRIMCLEAN 函数轻松清理数据。

4. 为避免意外覆盖,请在应用批量公式前先备份数据。此外,比较完成后,您可在公式结果列上使用筛选,快速查看所有匹配项或唯一项。


使用 VLOOKUP 比较两个独立工作表中的列表

如果您已安装 Kutools for Excel,只需几次点击,即可利用其选择相同/不同单元格功能,快速找出并高亮两个独立工作表中的相同项或不同值。此功能可显著降低手动操作出错的风险,尤其适用于大型数据集,助您大幅提升效率、节省宝贵时间!点击下载 Kutools for Excel!

使用 Kutools 比较不同工作表中的两个列表

Kutools for Excel:提供超过 300 个实用 Excel 加载项,30 天内免费试用,无任何限制。立即下载并免费试用!


使用 Kutools for Excel 通过 VLOOKUP 比较两个独立工作表中的列表

如果您已安装 Kutools for Excel,其选择相同/不同单元格功能可助您快速比对来自不同工作表的两个列表,并一键选中或高亮两张表中的共有名称——无需输入复杂公式。在处理大量数据或追求直观、彩色编码的可视化结果时,此方法尤为高效!

Kutools for Excel 提供 300 多项高级功能,简化复杂任务,提升创造力与效率。集成 AI 能力,Kutools 精准自动化任务,让数据管理变得轻松自如。Kutools for Excel 的详细信息……         免费试用……

安装 Kutools for Excel 后,请按以下步骤轻松比较您的列表:

1. 转到 Kutools 选项卡,点击选择 > 选择相同/不同单元格,如下图所示:

单击 Kutools > 选择 > 选择相同与不同的单元格

2. 在打开的选择相同/不同单元格对话框中:

(1.) 在查找值范围下,选择要比较的 Names-1 区域;

(2.) 在根据下,选择用于比对的 Names-2 区域;

(3.) 在基于部分,选择逐行即可分别比较各行;

(4.) 在查找部分,选择相同值,即可识别并高亮匹配的名称;

(5.) 您还可以设置背景色或字体颜色,高亮显示匹配结果,让关键信息更醒目。

在对话框中指定选项

3. 单击确定后,系统将弹出提示框,显示已找到并高亮的匹配单元格数量。两个列表中都存在的所有名称将被自动选中并以视觉方式突出显示,便于您进一步审阅或修改:

弹出提示框,提醒已选中多少个匹配的单元格

立即下载并免费试用 Kutools for Excel!

实用技巧:如果您的工作表包含大型数据集,建议高亮后使用筛选功能,仅查看匹配项。此外,在运行比较前,请再次确认所选区域已正确对齐,且未包含标题行(除非有意包含),因为错位会影响结果准确性。

在极少数情况下,若该功能未返回预期结果,请检查两个列表是否采用相同格式(例如均为文本,且不含隐藏的前导或尾随空格),因为格式差异可能导致匹配项被遗漏。


使用条件格式跨工作表公式法

如果您不想在列中编写公式或使用插件,可以利用使用条件格式配合自定义公式,根据另一工作表的数据,在当前工作表中直观高亮匹配的名称。此方法简单直接、无需 VBA,虽不会生成单独的结果列表,但能通过格式化让匹配项一目了然。

适用场景:本方案适用于希望以非侵入式方式直观查看匹配值,且不希望改动工作表结构的用户。其局限性在于:条件格式规则无法直接引用其他工作簿,且公式跨表引用仅在同一个文件内有效。

操作步骤:

1. 在 Names-1 中,选择要应用高亮的区域(例如 )A2:A19)。

2. 转到开始 > 使用条件格式 > 新建规则 > 使用公式确定要设置格式的单元格

3. 在公式框中输入以下公式:

=COUNTIF('Names-2'!$A$2:$A$19,A2)>0

此公式检查 Names-1 工作表中 A2 单元格的值是否存在于 Names-2!A2:A19 范围内。

4. 单击格式选择高亮颜色,再单击确定应用该规则,所有匹配项将自动在您的选定区域中高亮显示。

实用技巧:您可以根据实际数据调整范围,COUNTIF 步骤还能与筛选功能结合,仅聚焦于已高亮的单元格。设置跨工作表引用时,请确保两个工作表位于同一工作簿中,因为 Excel 的条件格式规则不支持引用外部文件。

错误提醒:如果高亮未按预期显示,请检查所选单元格范围及跨工作表引用是否正确。确保数据中不存在前导或尾随空格,以及格式不一致等问题,以免造成匹配遗漏。如有必要,可在辅助列中使用 TRIM 函数清理列表,实现精准比对。


VBA 代码 —— 自动比较列表并高亮或提取匹配项

对于熟悉宏的用户,使用 VBA 代码提供了一种高度灵活且自动化的解决方案,可高效比对两个独立工作表中的列表——不仅能高亮显示匹配的姓名,还能将匹配值提取至新位置,尤其适用于处理海量数据或需要在列表更新时快速同步结果的场景。

适用场景:当您需要重复执行比对、处理超大数据集、自动化生成报告,或进一步自定义匹配结果的处理与呈现方式时,此方案尤为高效。虽然需具备 VBA 知识,但您将获得完全的自动化能力与掌控权。唯一限制是工作簿中必须启用宏,而某些环境可能因安全设置禁止宏的使用。

如何运行宏以在 Names-1 中高亮显示 Names-2 中存在的匹配项:

1. 单击开发工具 > Visual Basic,打开 Microsoft Visual Basic for Applications 窗口;随后点击该窗口中的插入 > 模块,并将以下代码粘贴到新模块中:

Sub HighlightMatchingNames()
    Dim ws1 As Worksheet
    Dim ws2 As Worksheet
    Dim rng1 As Range
    Dim cell As Range
    Dim matchFound As Range
    
    On Error Resume Next
    xTitleId = "KutoolsforExcel"
    
    Set ws1 = Worksheets("Names-1")
    Set ws2 = Worksheets("Names-2")
    
    Set rng1 = ws1.Range("A2", ws1.Cells(ws1.Rows.Count, "A").End(xlUp))
    
    ws1.Range("A2:A" & ws1.Cells(ws1.Rows.Count, "A").End(xlUp).Row).Interior.ColorIndex = xlNone
    
    For Each cell In rng1
        Set matchFound = ws2.Range("A2:A" & ws2.Cells(ws2.Rows.Count, "A").End(xlUp).Row).Find( _
            What:=cell.Value, LookIn:=xlValues, LookAt:=xlWhole)
        
        If Not matchFound Is Nothing And cell.Value <> "" Then
            cell.Interior.Color = vbYellow
        End If
    Next cell
End Sub

2. 在 VBA 编辑器中,单击运行按钮按钮运行代码。此宏将扫描“Names-1”工作表 A 列中的姓名,若某姓名同时出现在“Names-2”工作表的 A 列中,则会在“Names-1”中将该单元格以黄色填充高亮显示。执行新比对前,该范围内的先前高亮将被自动清除。

故障排除:若无单元格被高亮,请确认两个工作表名称是否精确为“Names-1”和“Names-2”,且数据区域从 A2 开始。请确保已启用宏,且两个工作表均未受保护或处于筛选状态。此方法易于自定义——例如,您可更改高亮颜色,或修改代码将匹配结果复制到其他工作表或列中。

总结与建议:根据您的需求和技术熟练程度,可选择内置公式、宏自动化、Kutools 等智能插件,或使用条件格式实现直观可视化。使用公式或 VBA 时,请务必检查数据中是否存在多余空格或格式不一致问题——这些是常见错误来源。首次通过宏或插件执行批量操作前,请务必备份数据。若遇到公式未更新或匹配错误等问题,请检查相对/绝对引用范围是否正确,并验证工作表名称。选择契合您工作流程的方法,即可在 Excel 中高效、精准地跨工作表比对列表!


最佳办公效率工具

🤖KUTOOLS AI 助手:基于以下内容革新数据分析:智能执行   |  生成代码|  创建自定义公式  |  数据分析及生成图表|  调用 Kutools Functions……
热门功能查找、高亮或标记重复项   |  删除空白行   |  合并列或单元格且不丢失数据   |  不使用公式的四舍五入……
高级 LOOKUP多条件 VLookup  |  多值 VLookup  |   跨多工作表 VLookup   |   模糊查找……
高级下拉列表快速创建下拉列表   |  级联下拉列表   |  多选下拉列表……
列管理器添加指定数量的列|移动列|切换隐藏列的可见性状态|比较区域与列……
特色功能网格聚焦   |  设计视图   |增强编辑栏   | 工作簿和表管理器   |  资源库(自动文本)|  日期提取   |  汇总工作表  |  加密/解密单元格   | 按列表发送邮件   |  超级筛选   |   特殊筛选(筛选粗体单元格/斜体/删除线……) ......
精选 15 工具集12 文本工具添加文本删除特定字符,……)|   50+ 图表 类型甘特图,……)|   40+ 实用公式基于生日计算年龄,……)|   19 插入工具插入二维码从路径插入图片,……)|   12 转换工具小写金额转大写汇率转换,……)|   7 合并和拆分工具高级合并行分割单元格,……)|……更多
在您的首选语言中使用 Kutools – 支持英语、西班牙语、德语、法语、中文及 40+ 种其他语言!

使用 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 应用高效协作的团队。

ExcelWordOutlookTabsPowerPoint
  • 一体化套件— Excel、Word、Outlook 和 PowerPoint 插件 + Office Tab Pro
  • 一个安装程序,一个许可证— 几分钟内完成设置(支持 MSI)
  • 协同效果更佳— 在多个 Office 应用中实现高效协同
  • 30 天全功能试用— 无需注册,无需信用卡
  • 超值之选— 比单独购买插件更省钱