拿到一份"脏数据"怎么办?
清洗、排序、筛选、预警,一步步把它变成能用的数据
在电商工作中,你拿到的表格往往来自不同的同事、系统、甚至手写记录。如果这些表格"长得很随意",后面做排序、筛选、函数统计就会处处报错。规范,比技巧更重要——一张规范的表,能让 Excel 自动帮你干活;一张混乱的表,你每算一步都要手动修。这一课,我们先搞清楚"好表格长什么样"。
这是最容易被搞混的概念。简单说:
📌 记住一句话:要分析,用一维表;要汇报,可转二维表。Excel 的透视表能一键把一维表"变"成二维交叉表,但反过来就麻烦了。所以原始数据一定要存成一维表。
一张表只放一类主题的数据。不要把"订单"和"库存"塞进同一张表,也不要把"汇总行"混在"明细行"里。订单表就只放订单,统计的事交给函数和透视表。
数据行之间不要留空行,列之间不要留空列。一旦有空行,Excel 的"自动扩展""筛选范围"就会在这里断开。
合并单元格是"好看但坑多"的典型。它会影响排序、筛选、VLOOKUP、透视表。标题可以合并,数据区域绝对不要合并。
同一列要么全是文本,要么全是数字,不要混着来。例如"金额"列里既有 99 又有"¥99",Excel 就分不清谁是数字、谁要算。
选中数据区域按 Ctrl+T,可以把普通区域变成 Excel 的智能表格(Table)。好处:
=[@金额]*0.9,比 A2 好懂)数据多时,滚动会看不见表头。用视图 → 冻结窗格 → 冻结首行,或选中 B2 后"冻结窗格"可同时冻结首行首列。
每个字段名唯一,不出现两个"备注"
用"单价"不用"单价元",单位交给格式
表头上不空行,数据间不空行
避免空格、斜杠、括号混进字段名
| ❌ 不规范(Excel 讨厌) | ✅ 规范(Excel 喜欢) |
|---|---|
| 表头上方空两行 | 表头就在第 1 行 |
| 数字写成 "99元" | 纯数字 99 + 货币格式 |
| 日期是文本 "2025.3.5" | 真日期 2025/3/5 |
| 中间插空行、插重复表头 | 数据连续,只有一行表头 |
| 合并单元格存数据 | 不合并,每行一条记录 |
| 一列里文本数字混着放 | 一列只放一种类型 |
我们以下载的"不规范订单表"为例,练习规范化的完整流程:
这张表故意写得很"乱":有空行、数字带"元"、日期是文本、姓名带多余空格、还有重复表头。下载后照着上面的步骤规范化它:
| 订单号 | 客户姓名 | 商品名称 | 数量 | 单价(元) | 金额 | 下单日期 | 收货城市 |
|---|---|---|---|---|---|---|---|
| DD20250301 | 张伟 | 保温杯 | 1 | 19元 | 19元 | 2025.1.1 | 北京 |
| DD20250302 | 李娜 | 蓝牙耳机 | 2 | 26元 | 52元 | 2025.2.4 | 上海 |
| DD20250303 | 王芳 | 运动鞋 | 3 | 33元 | 99元 | 2025.3.7 | 广州 |
| DD20250304 | 刘洋 | 充电宝 | 4 | 40元 | 160元 | 2025.4.10 | 深圳 |
| DD20250305 | 陈静 | 行李箱 | 5 | 47元 | 235元 | 2025.5.13 | 杭州 |
下载"不规范订单表",完成以下规范化操作并保存:
=[@金额]*0.05,观察是否自动填满。完成以下10道题,检验你对数据规范的掌握:
"清洗"就是把拿到的脏数据,修整成干净、可用、能分析的数据。电商日常里,客户资料、订单导出经常带着空格、符号、重复行。掌握清洗,你就比 80% 的同事更能"干活"。
路径:数据 → 删除重复项。关键是以哪几列为判重依据——勾选"订单号"就意味着"订单号相同的算重复",只勾"手机号"则"同手机号算重复"。判重列选错,就会误删有用的不同记录。
路径:数据 → 分列。两种模式:
=TRIM(文本) 去掉首尾及中间多余空格(只留单词间一个)。从网页/系统导出的数据常带看不见的换行符、制表符。=CLEAN(文本) 可清除这些不可打印字符,常与 TRIM 搭配:=TRIM(CLEAN(A1))。
数据→分列→直接完成,选常规即转数字
空单元格输入 1 → 复制 → 选中区域 → 选择性粘贴"乘/除"运算
选中带绿标的单元格 → 点感叹号 → "转换为数字"
=VALUE(A1) 或 --A1(两个减号)强制转数值
=DATE(年,月,日) 重新拼回真日期。路径:Ctrl+G → 定位条件 → 空值,然后输入内容按 Ctrl+Enter,可一次性给所有空单元格填同一个值(如"未知""待补")。
空单元格、#N/A 会让统计出错。策略:缺失的文本填"未知/待补",缺失的数字填 0 或用 =IFERROR(原公式,"") 把错误转成空,保证下游公式稳定。
⚠️ 清洗是不可逆的修改。动手前一定先复制一份原始表命名为"原始_客户资料",在副本上清洗,保留可追溯的底稿。
这张表有:姓名带空格、手机号带"-"、金额带"¥"、日期写成"2025.3.5"、8 条重复行、还有空行。跟着做:
=TRIM(C2)(C列为姓名),下拉,复制结果→选择性粘贴"值"覆盖原列。45 行,故意混入各种"脏东西",请下载后完整清洗一遍:
| 客户编号 | 客户姓名 | 手机号 | 累计消费 | 注册日期 | 客户等级 |
|---|---|---|---|---|---|
| KH1001 | 陈晓东 | 138-1234-5678 | ¥1250.50 | 2025.1.1 | 普通会员 |
| KH1002 | 李美玲 | 139-2345-6789 | ¥880.00 | 2025.2.4 | 银卡会员 |
| KH1003 | 王建国 | 137-3456-7890 | ¥3200.75 | 2025.3.7 | 金卡会员 |
| KH1004 | 张丽华 | 158-4567-8901 | ¥560.00 | 2025.4.10 | 钻石会员 |
| KH1005 | 刘志强 | 136-5678-9012 | ¥1999.99 | 2025.5.13 | 普通会员 |
=TRIM(CLEAN(A1)) 是清洗文本的"黄金组合",一次去掉空格和不可见字符。#N/A → 下游 VLOOKUP 找不到值会连锁报错,用 IFERROR 兜底。下载"客户资料脏数据",独立完成清洗:
=VALUE() 和 -- 两种方法,分别把"累计消费"列再转一次数值,对比结果。=IFERROR() 包裹一个查找公式,故意制造找不到的情况,观察错误如何被转成空值。完成以下10道题,检验你对数据清洗的掌握:
一张 60 行的订单表,老板只问"广东省、已完成的、金额前 10 的单子"。你总不能一行行肉眼找。排序和筛选,就是 Excel 帮你"排好队、挑出来"的两把快刀。
这是新手最容易翻车的地方。如果你只点了一个单元格再排序,Excel 会问"是否扩展选定区域":
🚨 血的教训:排序前一定选中一整列或整张表(点列标/表左上角),让 Excel 知道"整行是一家人,要一起移动"。
默认的排序是按字母/数字。但"华东、华北、华南"或"初中高"这种业务顺序怎么办?用自定义序列(文件→选项→高级→编辑自定义列表,或排序时"次序→自定义序列"),告诉 Excel 你想要的先后。
如果某些单元格被手动标了颜色,排序→次序选"单元格颜色",可按颜色把同色行排到一起。
极少数情况要按"行"排(转置后的表),排序→选项→按行排序。一般数据分析用不到,了解即可。
路径:数据 → 筛选,或快捷键 Ctrl+Shift+L。表头出现下拉箭头,点击即可筛选。
* 任意多字符、? 单个字符)。在"省份"筛"广东",再在"状态"筛"已完成",两个条件叠加,结果是"广东且已完成"的子集。列越多,筛得越精细。
当条件复杂(如"广东或江苏""金额>1000 且 已完成"),用数据 → 高级筛选。要点:
⚠️ 筛选后如果对可见行用 SUM() 求和,它仍然会把隐藏行算进去!正确做法是用 =SUBTOTAL(109, 区域),109 代表"求和且只算可见单元格"。这是筛选场景下的标准写法。
以"电商订单明细"为例:
=SUBTOTAL(109, H:H)(假设金额在 H 列),随筛选实时变化。字段已规范,方便你直接练习排序和筛选:
| 订单号 | 下单日期 | 店铺 | 类目 | 商品名称 | 数量 | 单价 | 订单金额 | 省份 | 订单状态 | 客服 |
|---|---|---|---|---|---|---|---|---|---|---|
| EO2025030001 | 2025/3/1 | 天猫旗舰店 | 服饰 | 纯棉T恤 | 1 | 59 | 59 | 北京 | 待付款 | 客服小美 |
| EO2025030002 | 2025/3/2 | 京东自营 | 数码 | 充电宝 | 2 | 199 | 398 | 上海 | 已付款 | 客服小杰 |
| EO2025030003 | 2025/3/3 | 拼多多店 | 美妆 | 精华液 | 3 | 89 | 267 | 广东 | 已发货 | 客服小敏 |
| EO2025030004 | 2025/3/4 | 抖音小店 | 家居 | 台灯 | 4 | 299 | 1196 | 江苏 | 已完成 | 客服阿强 |
| EO2025030005 | 2025/3/5 | 天猫旗舰店 | 食品 | 坚果礼盒 | 5 | 45 | 225 | 浙江 | 退款中 | 客服小美 |
*东* 可匹配"含'东'字"的所有省份(通配符)。=SUBTOTAL(109,区域),别用 SUM。SUM() 求和 → 隐藏行仍在计算,结果虚高。用"电商订单明细"完成:
=SUBTOTAL(109,…) 求筛选后的可见金额合计完成以下10道题,检验你对排序筛选的掌握:
条件格式,就是"给数据立规矩":当某个条件满足时,Excel 自动给单元格上色、加图标、画数据条。库存快没了自动变红、达成率高的自动变绿——数据自己会"报警",你一眼就能发现问题。
大于/小于/重复值/包含文本等,一键高亮
前10项、高于平均值、前10%等
在单元格里画长短不一的彩色条
红→黄→绿渐变,看大小分布
用 ↑↓ 红绿灯等图标表示趋势
路径:开始 → 条件格式。
"新建规则 → 使用公式确定要设置格式的单元格",这是最灵活也最容易写错的地方。核心掌握两点:
$A$2:$H$50。=$H2<10(H 列绝对、行相对)。这样拖动时,每一行都拿自己的 H 列去比,整行一起变色。=$H2<10
→ 选中 $A$2:$H$50,H 绝对列、2 相对行,逐行判断,整行标红
💡 记忆口诀:"$锁住不变的部分"。列要固定就用 $H,行要跟着变就用 2(不带$)。想整行变色,就锁列不锁行。
=AND($D2<$E2,$F2>100):库存低于安全库存且近7日销量大 → 紧急。=OR($G2="退款中",$G2="已取消"):订单状态异常 → 标黄。=ISBLANK($C2):某关键字段为空 → 提醒补录。=COUNTIF($A$2:$A$50,$A2)>1:商品编码出现超过 1 次 → 重复值标红。开始 → 条件格式 → 管理规则,可以:调整优先级(谁先判断)、修改应用范围、勾选停止如果为真(满足上层规则就不再往下判,避免颜色打架)。
⚠️ 手动填色是"死"的——数据变了颜色不变,还得人工改。条件格式是"活"的——数据一变,颜色自动跟着变。会动态变化的预警,必须用条件格式,不要用油漆桶手动涂。
条件格式虽好,但满屏红绿黄蓝就成了"彩虹表",反而看不清重点。一个表聚焦 1~2 个核心预警即可。
用"店铺商品库存与销售监控表"练习条件格式:
=$D2<$E2 → 格式选红色填充。字段含库存量、安全库存、近7日销量、月销量、达成率、状态预警,方便做条件格式:
| 商品编码 | 商品名称 | 类目 | 库存量 | 安全库存 | 近7日销量 | 月销量 | 达成率 | 状态预警 |
|---|---|---|---|---|---|---|---|---|
| P10001 | 纯棉T恤 | 服饰 | 5 | 30 | 1 | 3 | 0.40 | 紧急补货 |
| P10002 | 蓝牙耳机 | 数码 | 18 | 40 | 8 | 32 | 0.57 | 紧急补货 |
| P10003 | 保湿面膜 | 美妆 | 31 | 50 | 15 | 75 | 0.74 | 紧急补货 |
| P10004 | 收纳盒 | 家居 | 44 | 60 | 22 | 132 | 0.91 | 紧急补货 |
| P10005 | 坚果礼盒 | 食品 | 57 | 20 | 29 | 87 | 1.08 | 正常 |
=$H2<10,选中整块区域才有效。=A$2<10)→ 横向拖动时判断列乱套,颜色错位。用"库存与销售监控表"完成:
=$D2<$E2 让"库存低于安全库存"的整行标红=AND($D2<$E2,$F2>50) 做"库存告急且近期热销"的双重预警,整行标深红。=ISBLANK($C2) 对"类目为空"的行标黄,提醒补录。完成以下10道题,检验你对条件格式的掌握:
清洗是"事后补救",数据验证是"事前预防"。在别人填表之前,你就定好规矩:这一列只能填男/女、手机号必须 11 位、商品编码不能重复……从源头卡住错误,后面的分析就省心了。(老版本 Excel 叫"数据有效性",365 里叫"数据验证",是一回事。)
路径:数据 → 数据验证(数据 → 数据验证 → 设置)。"允许"下拉里可选:
取消限制(默认)
限定数字范围,如数量≥0
下拉列表,最常用!
限定日期区间
如手机号限 11 位
用公式写任意规则
男,女(英文逗号分隔)。=$A$2:$A$10)。=名称,选项增减自动更新。路径:数据 → 数据验证 → 圈释无效数据。已存在的旧数据如果不符合规则,会用红圈标出来,方便你逐条修正。
=COUNTIF($B$3:$B$100,B3)=1(B3 在范围内唯一才允许)。=LEN(C3)=11。给表头行设置"自定义"公式 =FALSE 并选"停止"警告,别人就无法改表头;或配合保护工作表锁定表头区域。
🚨 数据验证只拦"手输",拦不住"粘贴"!别人把错数据 Ctrl+V 粘进来,验证规则不生效。要彻底防错,需配合"保护工作表"或事后用"圈释无效数据"复查。
我们以"商品资料登记表"为例,从源头规范录入:
服饰,数码,美妆,家居,食品,母婴。已上架,待上架,已下架。=COUNTIF($A$3:$A$100,A3)=1,出错警告选"停止"。两张表都是"模板":含列头、填写说明与示例,后面留空白行供填写。下载后给它们加上数据验证再使用:
| 商品编码 | 商品名称 | 类目 | 规格 | 单位 | 进货价 | 零售价 | 供应商 | 上架状态 |
|---|---|---|---|---|---|---|---|---|
| P20001 | 纯棉T恤 | 服饰 | M/L/XL | 件 | 29 | 59 | 华盛服饰 | 已上架 |
| P20002 | 蓝牙耳机 | 数码 | 标准 | 副 | 99 | 199 | 锐声电子 | 已上架 |
| P20003 | 保湿面膜 | 美妆 | 10片/盒 | 盒 | 35 | 89 | 妍丽化妆品 | 待上架 |
| P20004 | 收纳盒 | 家居 | 大号 | 个 | 12 | 29 | 宜家家居 | 已上架 |
| P20005 | 坚果礼盒 | 食品 | 1kg | 盒 | 45 | 99 | 三只松鼠 | 已上架 |
| 客户编号 | 客户姓名 | 性别 | 手机号 | 微信 | 客户等级 | 累计消费 | 注册日期 | 备注 |
|---|---|---|---|---|---|---|---|---|
| KH2001 | 陈晓东 | 男 | 13812345678 | cd_xm | 普通会员 | 1250.50 | 2025/1/1 | |
| KH2002 | 李美玲 | 女 | 13923456789 | lm_ling | 银卡会员 | 880.00 | 2025/2/4 | |
| KH2003 | 王建国 | 男 | 13734567890 | wj_guo | 金卡会员 | 3200.75 | 2025/3/7 | 大客户 |
| KH2004 | 张丽华 | 女 | 15845678901 | zl_hua | 钻石会员 | 560.00 | 2025/4/10 | |
| KH2005 | 刘志强 | 男 | 13656789012 | lz_qiang | 普通会员 | 1999.99 | 2025/5/13 |
男,女,未知。=名称。=COUNTIF($A$3:$A$100,A3)=1。=LEN(C3)=11。$A$3:$A$100 覆盖实际区域。下载两张登记表模板,完成以下验证设置:
=COUNTIF($A$3:$A$100,A3)=1 防重复,出错警告"停止"=LEN(…)=11 限制=FALSE + 停止警告,再保护工作表,体验表头无法被修改。完成以下10道题,检验你对数据验证的掌握:
恭喜你完成了模块3的学习!这一模块你拿起了 Excel 处理数据的"四件套",从一份乱糟糟的脏数据,到能分析、能报警、能防错的干净表:
📌 操作规范要点回顾:
接下来进入 📕 模块4:图表与可视化,把清洗干净的数据变成一眼就懂的图表,让你的汇报更有说服力!