1
场景背景
从系统导出、网页复制、微信转发的数据,经常带着看不见的空格、换行符、全角符号。肉眼看着一模一样,VLOOKUP 就是匹配不上。这一节把常见的脏字符清理方法一次讲清。
2
数据结构
共 1 个 Sheet3
解决步骤
1
第 1 步:先量一下长度
LEN 数出字符数,和肉眼看到的对比,就知道藏了几个空格。
=LEN(B2)
2
第 2 步:TRIM 去掉首尾空格
TRIM 会删掉首尾空格,并把中间连续的多个空格压成一个。
=TRIM(B2)
3
第 3 步:CLEAN 清掉不可见字符
换行符、制表符这类字符 TRIM 处理不了,用 CLEAN。两者叠加是黄金组合。
=TRIM(CLEAN(B2))
4
第 4 步:SUBSTITUTE 处理全角空格和特殊符号
TRIM 只认半角空格。全角空格要单独替换:SUBSTITUTE(A2," ","")。
=SUBSTITUTE(A2," ","")
4
完整公式与逐段拆解
=TRIM(CLEAN(B2))
CLEAN(B2)先删掉换行符等不可打印字符TRIM(...)再去掉首尾空格,压缩中间空格如需处理全角空格再套一层 SUBSTITUTE(...," ","")| A | B | C | D | E | |
|---|---|---|---|---|---|
| 1 | 姓名电话 | 地址 | 姓名 | 电话 | 清洗后地址 |
| 2 | 张三 13800001111 | 北京市朝阳区建国路88号 | 张三 | 13800001111 | 北京市朝阳区建国路88号 |
| 3 | 李四 13900002222 | 上海市浦东新区世纪大道100号 | 李四 | 13900002222 | 上海市浦东新区世纪大道100号 |
| 4 | 王五 13700003333 | 广州市天河区体育西路1号 | 王五 | 13700003333 | 广州市天河区体育西路1号 |
当前表:原始名单 · 公式单元格 E2 · 绿色底为公式,蓝色底为动态数组溢出结果
E 列是 TRIM(CLEAN()) 处理后的干净地址
6
数据流向
数据流向演示1 / 4
来源原始名单!B2
➜
去向CLEAN
原始文本带空格/换行
来源CLEAN
→
去向TRIM
删除不可见字符
来源TRIM
→
去向干净文本
去首尾空格
来源干净文本
→
去向原始名单!E2
写入清洗列
跟着高亮一步步看数据怎么流动
7
注意事项与坑
!TRIM 不会删除全角空格( ),需要 SUBSTITUTE 或「查找替换」。
!数字列被 TRIM 后仍是文本,参与计算要 VALUE。
!清洗后建议用「选择性粘贴 → 值」覆盖原列,否则删除辅助列后结果就没了。
8