ARTICLE · 1108721
学会这6步,Excel数据清洗与整理
删掉空行就算洗干净了?
先备份再动手,六步走完
表就能用了
去空格 · 拆列 · 统格式 · 去重 · 校验
Excel 数据清洗与整理日常使用干货
📦 7 Parts + Conclusion
👉 滑动
PART 01
三个判断
先想清楚再动手
PART 02
空格与隐形字符
匹配失败的头号原因
PART 07
避坑清单
六个血泪教训
PART ///
写在最后
顺序与纪律
先备份,再动手;顺序错了,越洗越乱
不讲函数原理,只给能照抄的六步
不讲函数原理,只给一套固定的六步清洗顺序,每一步都配上能直接照抄的公式和菜单路径。顺序很重要,跳步会返工。
所有操作都在 Excel 自带功能里完成,不需要装插件;WPS 表格基本通用,个别函数名有差异的地方会单独标注。
如果这张表只是自己看一眼、不参与计算,那筛选一下就够了。清洗的目的是让数据能被计算、匹配和分组统计,脱离这个目的去做规范化,只是浪费时间的自我感动。开工前先问一句:这张表接下来要干什么?答案不同,清洗的深度就不同。
01
PART
动手前先做三个判断
PLAN · 想清楚再动手
清洗最耗时的部分不是敲公式,而是反复返工。返工通常来自动手前没想清楚三件事。
判断一:这张表是一维表吗?
一维表的标准是:第一行是表头、每一行是一条独立记录、没有合并单元格、没有小计行。只有一维表才能正常使用筛选、排序和数据透视表。如果原表带着合并单元格的标题、季度小计行、多个表块拼在一起,那第一步不是清洗而是先把它拆回一维,否则后面每一步都会出问题。
判断二:主键是哪一列?
主键就是能唯一标识一行的字段,比如订单号、工号、手机号。它决定了去重的判断依据,也决定了核对时按什么对齐。如果单列不唯一,就要找组合主键(比如「日期 + 门店 + 商品编码」)。这一步想不清楚,去重就会误删。
判断三:原始备份做了吗?
不要在别人给的原表上直接动手。整表复制一份,命名为「原始数据」,把清洗结果做在新表里。它的作用不只是防误删——当核对发现总数对不上时,你需要有能力回到原表重查。
三步做完,清洗流程就固定下来了:
三个阶段里,备份最容易被跳过,校验最容易被糊弄过去。
02
PART
去空格与隐形字符
TRIM · 匹配失败的头号原因
匹配类问题(VLOOKUP 查不到、COUNTIF 数不准)里,一半以上是空格造成的。而空格有好几种,处理方式完全不同。
=TRIM(A2) 去首尾空格,并压缩中间连续空格
=CLEAN(A2) 清除非打印字符
=TRIM(CLEAN(A2)) 组合:先清不可见字符,再去空格
=SUBSTITUTE(A2,CHAR(160)," ") 把网页复制来的不换行空格换成普通空格
=LEN(A2)-LEN(SUBSTITUTE(A2," ","")) 数一下这一格有几个普通空格
关键点在于从网页或系统导出的表格里,空格常常是 CHAR(160) 而不是普通的 CHAR(32)。TRIM 对它无效,你必须先用 SUBSTITUTE 把它替换成普通空格,再 TRIM。这类字符肉眼看不见,只能靠公式检查。
判断某一列是否干净,最快的办法是加两列对比长度:=LEN(A2) 和 =LEN(TRIM(A2))。两者相等说明没有多余空格;不相等说明有,而且差值就是多余空格的数量。
需要提醒的是,TRIM 只处理首尾空格和连续重复的普通空格,单元格中间有意义的分隔空格它会保留。所以清洗前先看一眼数据的实际形态,比背熟公式更有用——不同来源的表,脏法完全不一样,导出系统数据多半是 CHAR(160) 作祟,手工录入的表则更多是前后手滑多敲的空格。
✦ 别忘值化
选中清洗后的列,复制,然后右键 → 选择性粘贴 → 值。不做这一步,一旦你删掉源列或移动表格,公式会立刻变成错误值,前面的工作全部作废。
03
PART
拆分与合并文本
SPLIT · 一列塞多种信息
一列里塞了多种信息的表非常常见,比如「北京市-朝阳区-张先生」挤在一格里。要按地区统计,就必须先拆开。
=LEFT(A2,FIND("-",A2)-1) 取第一个分隔符之前的部分
=TEXTBEFORE(A2,"-") Excel 365:同上,写法更短
=TEXTAFTER(A2,"-") 取第一个分隔符之后的部分
=TEXTSPLIT(A2,"-") 一次拆成多列(仅 Excel 365)
=B2 & "-" & C2 把两列拼回去
=TEXTJOIN("-",TRUE,B2:D2) 合并整片区域并忽略空值
不用公式的两种更快做法。第一种是数据 → 分列,按分隔符(逗号、横线、空格)或固定宽度拆分,一步到位,且不受版本限制。第二种是快速填充(Ctrl+E),在目标列手写一两个示例,按 Ctrl+E,Excel 会按你的模式自动推断并填充整列。
Ctrl+E 很方便,但要注意它是按示例推断,不是按规则计算。示例只给一个,遇到边界情况很可能猜错。给两三个不同类型的示例,结果才稳定。批量数据建议在填充后抽查十几行,确认无误再值化。
04
PART
统一格式:日期、数字、大小写
FORMAT · 透视表出错的头号原因
格式不统一是透视表出错的头号原因。最常见的三类问题及对应处理:
=DATEVALUE(A2) 文本日期 → 真日期(受系统区域设置影响)
=TEXT(A2,"yyyy-mm-dd") 日期 → 统一格式文本
=VALUE(A2) 文本数字 → 数值
=--A2 与 VALUE 等价,写法更短
=ISNUMBER(A2) 判断是否为真数值(返回 FALSE 就是文本)
=ASC(A2) 全角字符 → 半角
=UPPER(A2) 统一大写
判断文本型数字有个更直观的标志:单元格左上角的绿色小三角。也可以直接看求和结果——如果一列数字的 SUM 是 0 或者根本没反应,先怀疑它是文本。
文本型日期同样是重灾区。「2026年9月1日」这种内容 Excel 不会识别为日期,你既不能排序,也不能按年月分组。处理它有两种办法:函数法用 DATEVALUE,但结果受区域设置影响,容易出错;更稳的是分列法——选中该列,数据 → 分列,一路下一步到最后一步,列数据格式选「日期 YMD」,完成。分列法会把整列原地转成真日期,比函数更可靠。
全角半角混排的问题常出现在从聊天工具复制的数据里,「1」和「1」在 Excel 眼里是两个不同的字符,匹配必然失败。用 ASC 统一转成半角即可。
05
PART
去重与重复值排查
DEDUP · 先确认主键再动手
去重的第一步不是点按钮,而是先确认主键。同一个订单号出现两次是重复,但同一个客户下了两单是正常数据——按客户名去重就会把真实订单删掉。
先排查,再决定删不删:
=COUNTIF(A:A,A2) 这个值在整列里出现了几次
=COUNTIF($A$2:A2,A2) 标记"第几次出现",首次为 1($ 锁定首行)
=COUNTIFS(A:A,A2,B:B,B2) 按多列组合判断是否重复
排查用这三种方式:
加辅助列写 COUNTIF,然后筛选大于 1 的行,人工看一遍。
用条件格式 → 突出显示重复值,快速定位。
需要保留「第一次出现、删除后续」时,用 =COUNTIF($A$2:A2,A2),筛选结果大于 1 的行删掉即可,这样能精确控制删哪一条。
确认无误后再用数据 → 删除重复项,它会原地删除数据行。注意它有两个选项:按选定列判断,还是按整行判断。多数情况下你要的是「按主键列判断」,别忘了在对话框里取消勾选其他列。
还有一种容易误判的情况:两行看着完全一样,实际却有细微差别,比如多一个空格、混了一个全角字符。这时辅助列的 COUNTIF 可能把它们算作同一个值,而删除重复项按精确内容判断,结果就是两边结论不一致。稳妥的顺序是先把参与判断的列统一做一遍 TRIM 和 ASC,再去重,这样排查和删除的结果才对得上。
06
PART
校验与交付
VERIFY · 对不上就不能交付
清洗完成不等于可以交付,还差最后一步:核对。清洗前后数据量必须能对上,对不上的部分要能解释清楚。
=COUNTA(A2:A1000) 非空单元格计数(核对条数)
=SUM(B2:B1000) 金额求和(核对总额)
=IFERROR(VLOOKUP(A2,原始!$A:$B,2,0),"缺失") 找出清洗后缺失的项
核对三件套:总行数、关键列非空数、金额合计。这三项在清洗前后应当完全一致;如果做过去重,差额必须等于删除的重复行数,而不是「大概差不多」。
只对总数是不够的。总数一致但内容错位的情况很常见——排序或删行时错位,行数没变,数据却整体串了行。稳妥的做法是抽 10 到 20 行按主键逐行比对,确认每个字段都还对着原来那条记录。这一步花两分钟,能拦住绝大多数低级但致命的错误。
交付前建议再做两件事。一是给关键列加数据验证(数据 → 数据验证),做成下拉选项,防止后续录入再次污染。二是用条件格式标出空值和异常值,比如金额小于 0、日期超出合理区间,让问题在页面上直接可见。
这样交付出去的表,既能用,也不容易被下游改坏。
07
PART
避坑清单
PITFALL · 六个血泪教训
下面六个坑,几乎每个做数据整理的人都踩过。
在原表上直接清洗。 一定先整表复制一份留作备份。清洗过程中删错行、值化错列都很常见,没有备份就只能重新找数据源。
清洗后忘记值化。 公式列不转成值,一旦源列被删或表被移动,整列立刻变成错误值。养成「清洗完顺手复制 → 选择性粘贴 → 值」的习惯。
以为 TRIM 能搞定所有空格。 网页导出的不换行空格(CHAR(160))和全角空格,TRIM 都不认。前者用 SUBSTITUTE 加 CHAR(160) 替换,后者用 ASC 转半角,然后再 TRIM。
去重前没确认主键。 单列去重会误删有意义的行。先想清楚「唯一标识」是哪一列或哪几列的组合,必要时用 COUNTIFS 按多列判断。
用合并单元格当表头。 合并单元格会让筛选、排序、透视表全部失效,也是「表不是一维」的典型症状。表头只占一行、每行一条记录,是使用 Excel 分析数据的前提。
数字存成文本导致汇总为 0。 求和结果异常时,第一件事是用 ISNUMBER 检查一下列的类型,而不是反复检查公式。文本型数字用 VALUE 或分列转成数值即可。
///
LAST
写在最后
SUMMARY · 顺序与纪律
数据清洗的门槛不在函数难度,而在顺序和纪律:先备份、再看结构、然后按「空格 → 拆分 → 格式 → 去重」的顺序处理,最后一定做数据量核对。顺序跳步,返工几乎是必然的。
如果一张表要反复清洗,就把这套流程固化成动作:把常用公式做成模板列、把分列和验证步骤记成清单,下次直接套用,能省掉大量重复劳动。
既然看到这里了,如果觉得有用,随手点个赞、在看、转发三连吧。
THANKS FOR READING