MICROSOFT

EP12. “Compare Two Columns 比较两列数据”

首页 Microsoft 工具 Excel · Functions · Lookup & Reference · EP12
约 4 分钟· #EP12#Excel#Lookup & Reference
🔒 登录后可标记已读
  • 讲怎么比较两列数据:找出重复值、找出唯一值、逐行比较是否相同
  • 用 IF、ISERROR、MATCH、EXACT 几个函数组合
  • 前置知识建议先看过 EP03 的 MATCH 用法和 EP08 的 EXACT 用法
  • 学完能处理「两份名单对不对得上」这类数据核对需求

重点内容


方法一:显示重复值

在第一列里,标出"同时也出现在第二列"的那些值:

=IF(ISERROR(MATCH(A2,$B$2:$B$10,0)),"","重复")

逻辑是:MATCH 在第二列里找第一列的值,找不到会返回错误,ISERROR 检测这个错误状态,IF 根据结果决定是显示空白还是标注"重复"。


方法二:显示唯一值

把方法一里 IF 函数的最后两个参数对调(原本"找到重复显示提示、找不到显示空白",换成"找到显示空白、找不到显示提示"),就能反过来标出第一列或第二列各自独有、对方没有的值。

[截图:两列数据并排对比,重复值标"重复"、唯一值标"唯一"的最终显示效果]


方法三:逐行比较

逐行比较是不是要区分大小写,两种写法结果可能不一样:

需求写法例子
不区分大小写==IF(A2=B2,"相同","不同")
区分大小写EXACT=IF(EXACT(A2,B2),"相同","不同")

基础版(不区分大小写):

=IF(A2=B2,"相同","不同")

简单比较同一行两个单元格是否相等。

加强版(区分大小写):

=IF(EXACT(A2,B2),"相同","不同")

用 EXACT 函数替代 = 比较,连大小写差异都会被判定为不同(EXACT 用法详见 EP08)。


学完你会

  • ✅ 能用 MATCH + ISERROR + IF 标出两列数据里的重复值或唯一值
  • ✅ 能用 = 或 EXACT 逐行比较两列数据是否相同
  • ✅ 能判断什么场景该用不区分大小写的比较,什么场景要改用 EXACT

常见错误

  • 忘记 MATCH 默认不区分大小写,如果核对场景需要区分大小写(比如账号、密码),要改用 EXACT 而不是单纯的 MATCH
  • 显示唯一值时把 IF 的两个参数对调错方向,结果输出的反而是重复值而不是唯一值
  • 两列数据里有多余空格或不可见字符(参考 EP07 的 Remove Spaces),导致明明看起来一样却被判定为"不同"

Sources

Blog / Website:

  1. Compare Two Columns