数据清洗为什么重要
都说数据分析是"七分清洗,三分分析"。数据脏乱差,分析结果就不靠谱。原始数据到手,第一件事就是把它洗干净。
今天分享7个数据清洗的常用方法,都是实打实能用的。
第一招:去除空格
数据里经常有多余的空格,有的是开头有,有的是结尾有,有的是中间多了个空格。肉眼不一定看得出来,但会导致匹配失败。
清理方法
=TRIM(A1) // 去除所有多余空格,只保留单词间单个空格清理整列
在B列输入公式,拖动填充,然后复制B列,选择性粘贴为值到A列。
第二招:统一文本格式
有时候"北京"和"beijing"混在一起,或者大小写不统一,匹配的时候就会出问题。
统一为小写
=LOWER(A1)统一为大写
=UPPER(A1)首字母大写
=PROPER(A1) // "beijing" 变成 "Beijing"第三招:去除重复项
重复数据会导致统计结果虚高,必须清理掉。
方法1:删除重复项
数据 → 删除重复项 → 选择要检查的列 → 确定
方法2:标记重复项
=IF(COUNTIF($A$1:$A1, A1)>1, "重复", "") // 第一个出现的标记为空,重复的标记"重复"方法3:提取唯一值
如果有Excel 365,用UNIQUE函数:
=UNIQUE(A:A) // 直接提取A列的唯一值第四招:拆分单元格
一列里塞了多个信息,必须拆开。比如"姓名-部门"这种格式。
方法1:分列
数据 → 分列 → 分隔符号(选"-")→ 完成
方法2:公式拆分
=LEFT(A1, FIND("-", A1)-1) // 取"-"前面的内容=RIGHT(A1, LEN(A1)-FIND("-", A1)) // 取"-"后面的内容更智能的拆分
如果"-"的位置不固定:
=TRIM(LEFT(SUBSTITUTE(A1, "-", REPT(" ", 100)), 100)) // 第一个"-"前的部分第五招:合并单元格
有拆就有合。有时候需要把多列信息合并成一列。
方法1:用&连接
=A1 & "-" & B1 // 中间加连接符=A1 & B1 // 直接拼接方法2:用CONCATENATE(老方法)
=CONCATENATE(A1, "-", B1)方法3:用TEXTJOIN(推荐)
=TEXTJOIN("-", TRUE, A1, B1, C1) // 用"-"连接,可以合并多列,空值自动忽略方法4:快速填充
先在第一行手动输入合并结果,然后按Ctrl+E智能填充。
第六招:处理日期
日期数据是最让人头疼的,格式乱七八糟:有的是"2024-01-01",有的是"2024/1/1",有的是"2024年1月1日",有的是文本"一月一日"。
统一为标准日期格式
=DATEVALUE(A1) // 把文本日期转成日期序列值=TEXT(A1, "yyyy-mm-dd") // 任意格式转标准格式提取年月日
=YEAR(A1) // 提取年份=MONTH(A1) // 提取月份=DAY(A1) // 提取日期计算日期差
=DATEDIF(A1, B1, "d") // 两日期相差多少天=DATEDIF(A1, TODAY(), "d") // 距今天数第七招:处理缺失值
数据里经常有空白单元格,有的是没采集到,有的是填了但故意留空。
识别缺失值
=IF(A1="", "缺失", A1) // 标记为空白的单元格=COUNTBLANK(A:A) // 统计空白单元格数量批量填充缺失值
1. 按Ctrl+G → 定位条件 → 空值 2. 输入填充值 3. 按Ctrl+Enter
用公式填充
=IF(A1="", "未知", A1) // 空白填充为"未知"=IF(A1="", B1, A1) // 空白填充为B列对应的值(向前填充)=IF(A1="", A2, A1) // 空白填充为A2的值(向后填充)数据清洗流程建议
正确的清洗顺序:
1. 备份原始数据(先复制一份) 2. 去除空格(TRIM) 3. 统一格式(大小写、日期格式) 4. 处理缺失值(填充或标记) 5. 去除重复项(DELETE或标记) 6. 拆分/合并列(根据需要) 7. 最终检查(抽查确认)
常用清洗函数速查表
总结
数据清洗是脏活累活,但做好了能让后面的分析事半功倍。记住这7招:
1. 去除空格 2. 统一格式 3. 去除重复 4. 拆分单元格 5. 合并单元格 6. 处理日期 7. 处理缺失值
用熟了你会发现,数据清洗其实也就那么回事。
标签:Excel技巧 | 数据清洗 | 数据处理 | 办公技巧
夜雨聆风