Excel 数据清洗
为什么干净的数据是不可妥协的
脏数据是 Excel 生产力的隐形杀手。多余的空格、不一致的格式、重复记录和缺失值会破坏你的公式、扰乱你的数据透视表、并导致基于错误数据的决策。研究一致表明,数据专业人员 60-80% 的时间花在清洗数据上——而不是分析数据。
好消息是:Excel 有专门为数据清洗设计的强大内置工具。你不需要手动扫描成千上万行数据。本指南涵盖能将你的数据准备时间减半的核心技巧。
分步操作:清洗一个真实数据集
场景:你从旧系统导出 CSV 文件。A 列姓名有多余空格,B 列"城市, 省份 邮编"挤在一个单元格中,C 列日期格式混乱,且数据中存在重复行。
第一步——始终在副本上操作
- 右键工作表标签 > 移动或复制 > 建立副本。将副本命名为"已清洗"。
- 永远不要在唯一版本上清洗数据。如果清洗步骤出错,你随时可以回到原始数据。
第二步——删除重复行
- 点击数据中任意单元格,按 Ctrl+A 全选。
- 点击 数据 > 删除重复项。
- 取消勾选不应定义唯一性的列(如同一记录因时间戳不同而被保留)。只勾选关键列:例如姓名和日期。
- 点击确定。Excel 会报告删除了多少重复项,剩余多少唯一条目。
第三步——用 TRIM 和 CLEAN 清洗文本
- 在姓名列旁边插入新列(右键 B 列 > 插入)。标注为"姓名_清洗"。
- 在第一个数据行输入:
=TRIM(CLEAN(A2)) - 双击填充柄向下复制。TRIM 去除前后和多余的空格。CLEAN 去除不可打印字符(系统导出文件中很常见)。
- 复制清洗后的列,右键原始列 > 选择性粘贴 > 数值,将公式替换为清洗后的文本。删除辅助列。
第四步——用分列拆分"城市, 省份 邮编"
- 选中合并的地址列。数据 > 分列。
- 选择分隔符号,点击下一步。勾选逗号作为分隔符。
- 预览显示拆分结果。点击下一步。
- 为每个目标列设置数据格式:"城市"为文本,"省份 邮编"为文本。点击完成。
- 现在再拆分"省份 邮编":选中该列,分列 > 分隔符号 > 空格。你现在有了三个干净的列:城市、省份、邮编。
第五步——统一日期格式
- 选中日期列。数据 > 分列 > 分隔符号 > 取消所有分隔符 > 下一步。
- 在"列数据格式"下,选择日期并选择与数据匹配的格式(YMD、MDY 等)。
- 点击完成。Excel 将所有日期转换为一致的、可排序的格式。
- 对仍然不对的日期,应用统一格式:Ctrl+1 > 数字 > 日期 > 选择你想要的显示格式。
关键技巧
技巧一——快速填充识别模式
快速填充(Ctrl+E)会观察你的手动编辑,并根据检测到的模式自动补全其余内容。
- 在包含全名的列旁边,从第一个单元格中手动输入名字。按 Enter。
- 开始输入第二个名字。Excel 会显示灰色预览建议。
- 按 Ctrl+E 接受。快速填充会即刻提取所有行的名字。适用于拆分、合并、格式化和提取文本片段。
技巧二——使用通配符的查找和替换
- 按 Ctrl+H 打开查找和替换对话框。
- 要删除产品代码中连字符后的所有内容:查找
-*,替换为空。 *匹配任意数量字符。?匹配恰好一个字符。- 始终先点击查找全部预览匹配项,再确认替换。
常见错误
- 在原始文件上清洗。始终在副本上操作。清洗往往是不可逆的——TRIM 和分列会破坏原始数据格式。
- 未经分析就删除缺失数据的行。空白单元格可能表示数据收集问题,而非无用记录。检查缺失数据是随机的还是系统性的再决定删除。
- TRIM 无法删除不间断空格(char 160)。网页数据常包含这种字符。在 TRIM 之前使用
=SUBSTITUTE(A2, CHAR(160), " ")彻底清除空白。 - Excel 会自动去掉数字前导零。对邮政编码、产品编号或员工工号,在导入前将列格式设为文本,或使用
=TEXT(A2, "00000")恢复前导零。
进阶技巧
- 构建数据质量仪表盘:使用 COUNTA、COUNTBLANK 和条件格式创建显示每列完整度(%)的汇总表。添加数据验证规则和 COUNTIF 自动标记无效条目。
- Power Query 实现可重复清洗:数据 > 获取数据 > 从表格/区域 打开 Power Query。一次性构建清洗步骤(修剪、拆分、筛选、替换),每周放入新文件后刷新即可——所有步骤自动重放。
- Power Query 模糊匹配:模糊合并选项匹配相似但不完全相同文本——在合并不同系统的表格时,适合将"IBM 公司"与"国际商业机器公司"对账。
- UNIQUE 和 SORT 快速去重参考:在 Excel 365 中,
=SORT(UNIQUE(A2:A1000))返回所有不重复值的字母排序列表——即时了解每列实际包含什么。