EP12. “Compare Two Columns 比较两列数据”
🔒 登录后可标记已读- 讲怎么比较两列数据:找出重复值、找出唯一值、逐行比较是否相同
- 用 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: