快速筛选相同单元格
直接比较
=A2=B2
返回 TRUE / FALSE。后续连续行也要比较时,可双击填充柄快速向下填充:
- 将鼠标指针移到单元格右下角的小绿点(填充柄)上。
- 指针由白色粗十字 + 变为黑色细十字 + 时,双击左键。
需要自定义结果显示时用 IF 包一层:
=IF(A2=B2, "相同", "不同")
忽略首尾空格
单元格首尾若有不可见的空格,=A2=B2 会返回 FALSE。用 TRIM 去掉两端空格后再比较:
=IF(TRIM(A2)=TRIM(B2), "相同", "不同")
TRIM 只处理 ASCII 32 的普通空格:删除首尾空格,并把中间连续多个空格压缩为一个。
清理不可打印字符
经 TRIM 处理后仍判为不同,通常是混入了不可打印字符:
| 字符 | 编码 | 常见来源 |
|---|---|---|
| 制表符 TAB | CHAR(9) | 复制粘贴 |
| 换行符 LF | CHAR(10) | 单元格内换行 |
| 回车符 CR | CHAR(13) | Windows 换行 |
| 不间断空格 NBSP | CHAR(160) | 网页 / HTML |
TRIM 不处理这些。CLEAN 能清除 0–31 区间的控制字符(即 CHAR(9/10/13)),但管不到 CHAR(160)。先把 CHAR(160) 替换为空,再 CLEAN,最后 TRIM:
=IF(TRIM(CLEAN(SUBSTITUTE(A2,CHAR(160),""))) = TRIM(CLEAN(SUBSTITUTE(B2,CHAR(160),""))), "相同", "不同")
由内到外依次执行:
SUBSTITUTE(A2,CHAR(160),""):删除网页常见的顽固不间断空格CLEAN(...):清除CHAR(9/10/13)等不可打印控制字符TRIM(...):清除两端剩余的普通空格