如何在 Excel 中查找两列之间的唯一/重复值?
在日常的 Excel 任务中,比较两个数据列表是很常见的操作,例如对比不同长度的学生姓名列,以确定哪些值同时出现在两个列表中(重复值)或仅在一个列表中(唯一值)。手动完成这项工作容易出错且耗时,尤其是面对大量数据时。本文将介绍多种高效的方法,帮助您快速比较两列并找到或突出显示 Excel 中的唯一值和重复值。
➤ 使用公式查找两列之间的唯一或重复值
➤ 使用 Kutools for Excel 查找唯一或重复值
➤ 使用 Kutools 公式查找和统计唯一或重复值
➤ 使用 VBA 突出显示或提取唯一/重复值
➤ 使用条件格式直观突出显示唯一或重复值
使用公式查找两列之间的唯一/重复值
当您希望快速识别某一列中的唯一值或发现两列中的重复值时,使用 Excel 公式既高效又灵活。这种方法特别适用于需要动态解决方案的情况,因为当数据发生变化时,公式会自动更新结果。
例如,要确定 A 列中哪些值不在 C 列中(即 A 列独有的值),可以结合使用 VLOOKUP 和 ISNA 函数,如下所示:
在 B2 单元格中输入以下公式:
=IF(ISNA(VLOOKUP(A2,$C$2:$C$13,1,FALSE)),"Yes","")
输入公式后,拖动 B2 的自动填充柄向下至 B15,将其应用到与 A 列数据相邻的整个区域。
如果公式在 B 列返回“是”,则表示 A 列中对应的值未出现在 C 列中——说明它是 A 列独有的。如果单元格为空,则表示该值在两列中都存在。此方法直接明了,无论列表中是否包含重复项,都能无缝工作。
注意事项:
- 在公式中,A2 指代您要检查的 A 列中的值,而 $C$2:$C$13 指定要在 C 列中进行比较的范围。请根据实际数据调整这些范围。
- 如果您想查找 C 列独有的值(即出现在 C 列但不在 A 列中的值),可以在靠近 C 列的空白单元格(如 D2)中输入以下公式,并向下拖动:
=IF(ISNA(VLOOKUP(C2,$A$2:$A$15,1,FALSE)),"Yes","")
- 确保您的范围包含所有相关数据,如果计划将公式复制到多行,请对比较范围使用绝对引用(带 $ 符号)。
实用提示:如果您的数据集较大,使用基于公式的解决方案可以在列内容发生变化时自动更新,因此非常适合动态列表。
常见问题:如果您的数据包含多余的空格或大小写差异,结果可能不符合预期。在这种情况下,建议使用 TRIM 或 UPPER/LOWER 函数清理数据。
使用 Kutools for Excel 查找两列之间的唯一/重复值
如果您希望更高效地比较两列并立即选择、统计或突出显示唯一值或重复值,Kutools for Excel 提供了实用的“选择相同和不同单元格”功能。这个工具非常适合那些希望通过用户友好的界面完成操作而不必设置公式或复杂规则的用户。它在处理频繁的比较任务时尤其有效,因为它允许即时视觉识别和选择唯一的或重复的单元格值。
1. 点击 Kutools > 选择 > 选择相同和不同单元格。

2. 在“选择相同和不同单元格 ”对话框中,按照以下步骤操作:
- (1) 在“查找值位于”框中指定要检查的第一列的值;
- (2) 在“依据”框中设置比较列;
- (3) 在“基于”下选择“按行”选项;
- (4) 在“查找”中选择“不同值”以定位唯一项目;
- (5) 可选:启用“填充背景色”并为结果选择高亮颜色;
- (6) 点击“确定”执行比较。
注意: (1) 如果您的列包含标题,请勾选“我的数据有标题”选项。(2) 要查找重复值,只需在比较对话框中选择“相同值”。
Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取
3所选列中的所有唯一(或重复)值将立即被高亮显示并选中,同时弹出一个对话框显示匹配单元格的数量。
如果需要查找 C 列独有的值(但不在 A 列中),只需交换“范围 A”和“范围 B”的分配,然后重复上述过程即可。
此解决方案推荐给偏好直观比较工具的用户,能够处理各种大小的数据集而无需编写或复制公式。
提示:使用背景色高亮可以帮助您一目了然地识别关键数据差异,这在展示或审查结果时非常有价值。
使用 Kutools for Excel 的公式查找和统计两列之间的唯一/重复值
对于那些不仅希望查找还要统计某个列中的值在另一个列中出现次数的用户,Kutools for Excel 提供了通过公式助手实现的“统计单词出现次数”功能。此选项适合需要知道每个值出现频率的场景,例如匹配 ID、产品列表或考勤记录。
1. 在第一列旁边选择一个空白单元格,例如 B2。然后点击 Kutools > 公式助手 > 统计单词出现次数.
2. 在公式助手对话框中,在“文本”框中输入比较列的绝对范围(例如, $C$2:$C$13)并在 文本 框中选择第一列中的单元格(例如 A2)在 单词 框中选择。点击 确定.

3. 使用填充柄将公式结果拖动到 B 列的其余单元格。现在,您将看到 A 列中的每个值在 C 列中出现的次数。
结果为 0 表示该值是 A 列独有的,而结果为 1 或更多则表明该值在两列中都存在,数字表示出现次数。
Kutools for Excel - 通过超过300个必备工具,让Excel功能大幅提升。永久免费享受AI功能!立即获取
操作提示:确保对范围引用使用绝对地址,以便在检查每一行对应项时正确填充公式。
场景建议:此方法非常适合交叉验证成员列表、产品 SKU 或任何需要在两个数据源中进行频率分析的情况。
错误提醒:如果范围与实际数据不匹配,或者数据类型不一致(例如数字作为文本等),请务必在使用公式之前标准化您的列表。
演示:在 Excel 中查找两列之间的唯一/重复值
使用 VBA 突出显示或提取两列之间的唯一/重复值
对于经常需要自动化和可重复流程的用户,使用 VBA(Visual Basic for Applications)可以提供一种免手动操作的解决方案,用于突出显示或提取两列之间的唯一或重复值。通过 VBA 脚本,您可以即时处理不同长度的列,并自动标记、着色,甚至将这些值列出到其他位置——大大提高了处理大型或频繁更新数据集的效率。
这种方法特别适合熟悉宏的用户,他们希望减少手动步骤或将解决方案应用于多个工作表或工作簿。
1. 打开您的 Excel 文件。然后,在 Excel 功能区上,转到 开发工具 > Visual Basic 以打开 VBA 编辑器。在编辑器中,点击 插入 > 模块,并将以下代码粘贴到模块窗口中:
示例:突出显示两个选定列之间的重复值。
Sub HighlightDuplicatesBetweenColumns()
Dim rngA As Range, rngB As Range
Dim cell As Range
Dim ws As Worksheet
Dim xTitleId As String
xTitleId = "KutoolsforExcel"
Set ws = ActiveSheet
' Ask user to select the first range
Set rngA = Application.InputBox("Select the first range (e.g., Column A):", xTitleId, , , , , , 8)
If rngA Is Nothing Then Exit Sub
' Ask user to select the second range
Set rngB = Application.InputBox("Select the second range (e.g., Column C):", xTitleId, , , , , , 8)
If rngB Is Nothing Then Exit Sub
' Highlight duplicates in both ranges
For Each cell In rngA
If cell.Value <> "" And WorksheetFunction.CountIf(rngB, cell.Value) > 0 Then
cell.Interior.Color = RGB(255, 255, 0) ' Yellow
End If
Next cell
For Each cell In rngB
If cell.Value <> "" And WorksheetFunction.CountIf(rngA, cell.Value) > 0 Then
cell.Interior.Color = RGB(255, 255, 0) ' Yellow
End If
Next cell
MsgBox "Duplicate values have been highlighted in yellow.", vbInformation, xTitleId
End Sub
2. 粘贴代码后,关闭编辑器。返回 Excel,按 Alt + F8,从宏列表中选择 HighlightDuplicatesBetweenColumns 并点击 运行。当提示时,选择您的两个目标范围。
💡 若要突出显示唯一值:将两个 If
语句中的比较条件从 > 0
修改为 = 0
,并可选择不同的颜色(例如绿色)。
提示:在运行宏之前始终备份您的工作表,因为单元格格式更改无法通过 Ctrl+Z 撤销。您还可以调整颜色代码(例如 RGB(255,255,0)
)以适应您的偏好。
故障排除:如果收到错误,请确保:
- 在您的 Excel 中启用了 开发工具 选项卡。
- 您的宏安全设置允许执行宏。
- 所选范围有效且包含可比较的值。
优点: 完全自动化,适用于不同文件大小。
缺点: 需要宏权限和基本的 VBA 熟悉程度。
使用条件格式直观突出显示两列之间的唯一或重复值
条件格式提供了一种直观且动态的方式来突出显示跨两列重复或唯一的值。它非常适合快速比较,无需添加额外列或 VBA 代码。当源数据发生变化时,所有格式都会实时更新。
突出显示两列之间的重复值:
- 选择要格式化的第一列中的范围(例如,A2:A15)。
- 转到 开始 > 条件格式 > 新建规则。
- 选择 使用公式确定要设置格式的单元格。
- 输入以下公式:
=COUNTIF($C$2:$C$13, A2)>0
- 点击 格式,选择高亮颜色(例如黄色),然后点击 确定。
这将突出显示 A 列中也出现在 C 列中的单元格。
突出显示一列中的唯一值:
- 选择相同的范围(例如,A2:A15)。
- 重复上述步骤以创建新规则。
- 输入公式:
=COUNTIF($C$2:$C$13, A2)=0
- 选择不同的颜色以区分唯一值。
如有必要,对 C 列应用相同的逻辑,方法是反转公式引用(例如,根据 A2:A15 高亮显示 C2:C13)。
✔ 优点: 即时视觉反馈;无需辅助列;随数据变化动态更新。
⚠ 注意事项: 在大型数据集上设置过多的格式规则可能会降低性能。始终仔细检查范围引用,特别是当列不相邻时。
最佳Office办公效率工具
🤖 | Kutools AI 助手:以智能执行为基础,彻底革新数据分析 |代码生成 |自定义公式创建|数据分析与图表生成 |调用Kutools函数…… |
热门功能:查找、选中项的背景色或标记重复项 | 删除空行 | 合并列或单元格且不丢失数据 | 四舍五入…… | |
高级LOOKUP:多条件VLookup|多值VLookup|多表查找|模糊查找…… | |
高级下拉列表:快速创建下拉列表 |依赖下拉列表 | 多选下拉列表…… | |
列管理器: 添加指定数量的列 | 移动列 | 切换隐藏列的可见状态 | 比较区域与列…… | |
特色功能:网格聚焦 |设计视图 | 增强编辑栏 | 工作簿及工作表管理器 | 资源库(自动文本) | 日期提取 | 合并数据 | 加密/解密单元格 | 按名单发送电子邮件 | 超级筛选 | 特殊筛选(筛选粗体/倾斜/删除线等)…… | |
15大工具集:12项 文本工具(添加文本、删除特定字符等)|50+种 图表 类型(甘特图等)|40+实用 公式(基于生日计算年龄等)|19项 插入工具(插入二维码、从路径插入图片等)|12项 转换工具(小写金额转大写、汇率转换等)|7项 合并与分割工具(高级合并行、分割单元格等)| …… |
通过Kutools for Excel提升您的Excel技能,体验前所未有的高效办公。 Kutools for Excel提供300多项高级功能,助您提升效率并节省时间。 点击此处获取您最需要的功能……
Office Tab为Office带来多标签界面,让您的工作更加轻松
- 支持在Word、Excel、PowerPoint中进行多标签编辑与阅读。
- 在同一个窗口的新标签页中打开和创建多个文档,而不是分多个窗口。
- 可提升50%的工作效率,每天为您减少数百次鼠标点击!
所有Kutools加载项,一键安装
Kutools for Office套件包含Excel、Word、Outlook和PowerPoint的插件,以及Office Tab Pro,非常适合跨Office应用团队使用。





- 全能套装——Excel、Word、Outlook和PowerPoint插件+Office Tab Pro
- 单一安装包、单一授权——数分钟即可完成设置(支持MSI)
- 协同更高效——提升Office应用间的整体工作效率
- 30天全功能试用——无需注册,无需信用卡
- 超高性价比——比单独购买更实惠