第一步:准备数据
- 打开 Excel。
- 将模拟的“脏”数据复制粘贴到工作表中,确保第一行是列标题(
user_id
,name
,email
,signup_date
,last_login
,total_spent
,membership
,device
,city
)。 - 选中整个数据区域(包括标题),点击 “开始” 选项卡 -> “格式刷” 或 “套用表格格式” -> 选择一个样式,将其转换为 “表格”(推荐)。这会启用筛选器并方便后续操作。
第二步:数据清洗的核心步骤
1. 处理缺失值 (Missing Values)
-
查找缺失值:
- 选中任意单元格,点击 “开始” -> “查找和选择” -> “定位条件” -> 选择 “空值”。Excel 会高亮显示所有空白单元格。
- 或者,使用筛选器:点击列标题的下拉箭头,取消勾选 “(空白)”,即可看到哪些行有缺失。
-
填充缺失值:
- 数值型(如
total_spent
):- 选中
total_spent
列的所有数据单元格(不包括标题)。 - 点击 “开始” -> “查找和选择” -> “定位条件” -> “空值”。此时只有
total_spent
的空白单元格被选中。 - 直接输入你想填充的值(例如
0
或100
),然后按 Ctrl + Enter。这会将所有选中的空白单元格都填充为该值。 - (计算中位数稍复杂):先在空白单元格(如
J1
)用=MEDIAN(E2:E12)
计算中位数,然后复制这个值,再用上述方法粘贴到total_spent
的空白单元格。
- 选中
- 分类型(如
name
):- 同样选中
name
列的数据区域,定位到空值。 - 输入
Unknown
,然后按 Ctrl + Enter。
- 同样选中
- 数值型(如
2. 处理重复数据 (Duplicate Data)
-
查找重复行:
- 选中整个数据区域(或整个表格)。
- 点击 “开始” 选项卡 -> “条件格式” -> “突出显示单元格规则” -> “重复值”。
- 在弹出的对话框中,可以选择颜色来高亮显示所有重复的值(默认基于所有列判断)。
-
删除重复行:
- 选中整个数据区域(或点击表格内任意单元格)。
- 点击 “数据” 选项卡 -> “删除重复项”。
- 在弹出的对话框中:
- 确保勾选了所有你认为能唯一标识一行的列(通常勾选所有列,或者只勾选
user_id
和email
这种唯一标识)。 - 点击 “确定”。
- 确保勾选了所有你认为能唯一标识一行的列(通常勾选所有列,或者只勾选
- Excel 会删除重复的行,并弹出对话框告诉你删除了多少个重复值,保留了多少个唯一值。
3. 处理不一致的数据格式 (Inconsistent Formatting)
-
统一文本大小写:
- 小写:在
device
列旁边新建一列(如device_clean
),在第一个数据行(如I2
)输入公式=LOWER(H2)
,然后双击填充柄(单元格右下角的小方块)向下填充整个列。最后,可以复制这一列,右键选择性粘贴为“值”,覆盖原device
列,然后删除辅助列。 - 大写:使用
=UPPER(H2)
。 - 首字母大写:使用
=PROPER(G2)
(例如处理name
列)。
- 小写:在
-
处理空字符串:
- 选中
city
列的数据区域。 - 按 Ctrl + H 打开“查找和替换”。
- 在“查找内容”中输入
""
(两个双引号,代表空字符串),在“替换为”中留空或输入Unknown
。 - 点击 “全部替换”。如果替换为
Unknown
,则完成了填充;如果替换为空,则变成了空白单元格,再用第1步的方法填充。
- 选中
4. 处理异常值和错误数据 (Outliers & Errors)
-
处理错误的日期 (
signup_date
):- 选中
signup_date
列的数据区域。 - 点击 “数据” 选项卡 -> “数据验证” -> “数据验证”。
- 在“设置”选项卡中,“允许”选择“日期”,可以设置开始和结束日期范围。
- 切换到“出错警告”选项卡,输入标题和错误信息(如“请输入有效日期”)。
- 点击“确定”。这可以防止未来输入错误日期。
- 修正现有错误:找到
invalid_date
单元格,手动将其改为一个有效日期(如2023-03-01
),或者留空然后用“填充缺失值”的方法处理。
- 选中
-
检查数值型异常值:
- 选中
total_spent
列。 - 点击 “开始” -> “条件格式” -> “项目选取规则” -> “其他规则”。
- 可以选择“格式化排名靠前或靠后的值”,例如“低于平均值”或“高于平均值的1.5倍标准差”等,用颜色标出可能的异常值。
- 手动检查并修正或删除这些行。
- 选中
5. 数据类型转换 (Type Conversion)
- Excel 通常是自动识别的。如果日期显示为文本:
- 选中日期列。
- 点击 “数据” 选项卡 -> “分列”。
- 在向导中,点击“下一步”两次,到第三步,选择“日期”格式(如 YMD),点击“完成”。
- 如果数值显示为文本(左上角有绿色三角),选中区域,点击出现的黄色感叹号,选择“转换为数字”。
6. 处理不一致的分类数据
- 使用 “查找和替换” (
Ctrl + H
):- “查找内容”输入错误的类别(如
Platnum
)。 - “替换为”输入正确的类别(如
Platinum
)。 - 点击“全部替换”。
- “查找内容”输入错误的类别(如
- 或者,使用 IF 函数 或 VLOOKUP 函数 在新列中进行映射和修正。
第三步:最终检查与保存
-
最终检查:
- 再次使用“条件格式”检查是否有重复值。
- 使用“筛选器”检查每列是否有空白或异常值。
- 查看“数据透视表”快速汇总统计(可选)。
-
保存数据:
- 点击 “文件” -> “另存为”。
- 选择一个新文件名(如
cleaned_user_data.xlsx
),避免覆盖原始数据。 - 选择文件格式(
.xlsx
是默认的 Excel 格式)。
总结:Excel 数据清洗的核心功能
清洗任务 | Excel 核心功能/方法 |
---|---|
查看数据 | 筛选器、排序、条件格式、状态栏统计(求和、计数) |
处理缺失值 | “定位条件” -> “空值”、手动填充、IF(ISBLANK(), new_value, original) |
处理重复值 | “条件格式” -> “重复值”、“数据” -> “删除重复项” |
文本处理 | UPPER() , LOWER() , PROPER() , TRIM() (去空格), SUBSTITUTE() |
数据类型转换 | “分列”向导、设置单元格格式、VALUE() 函数 |
替换值 | “查找和替换” (Ctrl + H )、REPLACE() 函数 |
条件筛选 | 筛选器、高级筛选 |
保存数据 | “文件” -> “另存为” |
关键提示:
- 使用表格 (Table):将数据区域转换为“表格”(
Ctrl + T
)是最佳实践,它自带筛选、结构化引用和自动填充。 - 备份原始数据:在原始文件上操作前,务必先复制一份进行清洗。
- 使用辅助列:复杂的清洗(如文本处理、条件判断)通常需要在旁边新建辅助列进行计算,完成后复制为“值”并删除原列。
- 函数是关键:掌握
IF
,ISBLANK
,TRIM
,UPPER/LOWER
,VLOOKUP/XLOOKUP
等函数能极大提升效率。
通过熟练运用这些 Excel 功能,即使没有编程基础,也能高效地完成绝大多数数据清洗任务。