夜雨聆风学习资料网

ARTICLE · 1142446

Excel 数据清洗分四层,我用 WorkBuddy 从单元格一路洗到了库

Excel 数据清洗分四层,我用 WorkBuddy 从单元格一路洗到了库
见字如面,我是一臻  90后新手奶爸,专注AI大模型和前沿技术分享

点击关注 👇 免费获取100+AI知识库

我先承认一件事,以前我用Excel做数据清洗,从来不分层的。

打开一张脏表,哪里看不顺眼改哪里,改到最后自己都忘了改过啥。直到有一次把一份洗过的表发给同事,人家问我这列怎么少了三行,我答不上来。

后来我基于 WorkBuddy 给自己定了个规矩,清洗这事按四层来,单元格、列、表、库。

这次为了验证,我干脆自己造了一批脏数据,脏到恰到好处那种。四层各造一份,每层对应一条指令,一层跑完再进下一层。

第一层最简单,就是几个格子的问题。

我造了一份十行的员工表,C2 里写着 2026/1/15 但存成了文本,F5 里是带首尾空格和全角空格、全角括号的一串岗位说明,H10 的绩效分是负 8.5。

这种活让 WorkBuddy 干,指令里要把位置和需求都说死。

【任务】修改指定单元格【文件】/Users/xxx/WorkBuddy/2026-10-05-23-28-55/Excel案例数据/案例2-四层清洗/员工信息.xlsx / Sheet 为 Sheet1【要改的地方】1. C2,内容改为 2026-01-15,格式设为日期 YYYY-MM-DD2. F5,去掉首尾空格和中间多余空格,全角括号转半角3. H10,如果值为负,标红并加批注 负数待核实【输出】另存为 员工信息_cleaned.xlsx,原文件不动【报告】改了哪几格、改前值、改后值

第二层是列。

我给订单明细的日期列塞了十五种写法。2024.1.1、2024-01-01、2024年1月1日、20240101、45292 这种 Excel 序列号、二〇二四年二月十日,还有要命的 1月5日 和 3/9。

我把这三十行真实跑了一遍。能直接转成日期的有 22 条,缺年份或者写法含糊的有 4 条,剩下的 4 条里包括上个月和空值,神仙也没辙。

这里是我整个清洗流程里最看重的一句。

【任务】清洗下单日期列【文件】案例2-四层清洗/订单明细.xlsx / Sheet 为 订单 / 目标列为 D列 下单日期【规则】1. 统一为 YYYY-MM-DD 日期格式,不是文本2. 能识别的来源格式包括 2024.1.1、2024-01-01、2024年1月1日、20240101、Excel序列号3. 缺年份的不要猜,标黄背景并加批注 缺年份,待确认4. 完全无法识别的标橙背景并加批注 无法解析5. 空值保留空白,不要填任何默认值【输出】订单明细_cleaned.xlsx,新增一张 Sheet 叫 日期异常清单【报告】总行数、成功转换数、标黄数、标橙数【红线】不删除任何行

我在这里反复强调不要猜,是有原因的。1月5日没有年份,它填 2026 可能对也可能错。填对了你不知道它蒙对了,填错了你要到汇报那天才发现。宁可让它标黄,让人去补。

第三层是整张表。

我造的销售明细里,六十五行有 3 个整行空、4 组完全重复行,金额攒了五种形态,¥12,300.00、1.2万、8600元、¥9,999、23,400,其中带千分位逗号的 12 条、带元字的 14 条、带万单位的 13 条、带人民币符号的 13 条、纯数字的只有 10 条。商品名称更狠,同一个牌子被写成 苹果、Apple、iPhone、苹果手机 四种,凑出来十三个唯一值,归一之后只剩四个。

这一层的指令不能再只点一个位置了,得把七类问题一次性点名,空行空列、重复行、乱码、格式不统一、数值带单位、同物异名、缺派生列。

【任务】对整张表做标准化清洗【文件】案例2-四层清洗/销售明细.xlsx / Sheet 为 明细【规则】1. 删除完全空白的行和列,删除完全重复的行并保留第一条2. 所有文本列去首尾空格、合并连续空格、全角转半角、清掉换行符和不可见字符3. 金额列去掉人民币符号、千分位逗号和尾部元字,带万字的换算成数字,1.2万 变成 12000,统一为数字类型保留两位小数4. 商品名称列做同物异名归一   苹果、Apple、iPhone、苹果手机 统一为 苹果手机   华为、HUAWEI、华为手机 统一为 华为手机   其余品牌同样处理,归一规则先列给我确认5. 下单日期列统一为 YYYY-MM-DD,无法识别的标黄不删除6. 新增派生列,月份 YYYY-MM、季度 Q1 到 Q4、星期、金额区间(小于1000 / 1000到5000 / 大于5000)7. 校验手机号(11位数字)和订单号(字母加数字,长度不小于8),异常的行复制到 异常清单 Sheet【输出】销售明细_cleaned.xlsx【报告】原始行数、剩余行数、删除空行数、去重数、格式转换数、同物异名归一数、异常待确认数【红线】原文件不动。异常行只隔离不删除。所有数字必须来自原表,禁止推算

这层我踩过两个坑。一是归一规则必须让它先列出来给我签字,我第一次没加这句,它把 联想笔记本 和 联想 归到了一起,做品牌维度分析的时候这两个根本不是一回事。

二是派生列一定要在指令里写完,你今天只想到月份,过两天又要季度,来回改一次就多一次出错的机会。

第四层是库。

到这一步已经不是洗一张表了,是定规则加整合。

订单表五十行,客户表四十一行,渠道表六行。

我故意在三行订单里塞了客户表里根本不存在的客户ID,跑出来的结果是关联成功 47 行,未匹配 3 行,正好是我埋的那三条。日期字段也不老实,订单表里 9 行存的是时间戳,城市字段更热闹,北京和北京市、上海和上海市同时存在。

【任务】多源数据的整合与治理【文件】订单表 案例2-四层清洗/orders.xlsx客户表 案例2-四层清洗/customers.xlsx渠道表 案例2-四层清洗/channels.xlsx【我定的业务规则】1. 商品唯一标识用商品编码,不用商品名称,名称会变编码不变2. 客户唯一标识用客户ID,不用手机号,手机号可能重复登记3. 主表以订单表为准,客户表和渠道表只做补充关联4. 日期统一为 YYYY-MM-DD 字符串,时间戳先转成日期5. 金额统一为数字,单位统一为元【执行】1. 先输出三张表的结构对比,共有字段、独有字段、字段类型、行数、主键重复情况2. 列出无法关联的订单行,客户ID 在客户表中找不到的,放进 未匹配清单3. 按客户ID 左连接客户表,取客户名称、城市、等级4. 按渠道编码左连接渠道表,取渠道名称、渠道类型5. 未匹配到的字段留空并标注 未匹配,不要填默认值【输出】订单主表_治理后.xlsx,新增一张 Sheet 叫 数据字典,写清每个字段的含义、来源表、类型、示例值【报告】各表行数、关联成功率、未匹配行数、字段类型冲突清单

注意这段指令里有一整块叫我定的业务规则第四层和前三层最大的区别就在这,前三层你是在提要求,第四层你是在立法。

主键用什么、以哪张表为准、单位是什么,这些决定只有业务方做得了,WorkBuddy 能做的是严格执行并把冲突列出来。

所以流程是这样的:

1. 先跑一层,确认它对的位置到底对不对

2. 再跑列清洗,重点看标黄数和人手要补的量

3. 表清洗前先跟它对一遍清洗顺序,我的建议是先统一格式再去重

4. 库清洗之前先把主键定死,商品用编码不用名称,客户用ID不用手机号

5. 每一步都要求它回一份日志,原始行数、剩余行数、删了多少、转了多少、几条待确认

坦率的讲,最后那句要日志是我觉得最有价值的一句。

干净的表谁都能给你,能告诉你自己干了什么的表,才是能交付的表。


如果大家想学习WorkBuddy,欢迎大家加入 workbuddy实战社区:1年6次训练营➕30节录播课➕50篇SOP➕不定期实战案例分享:从基础入门、高阶玩法,到公众号、小程序、PPT、周报、会议记录、Excel、数据分析等,全是实战。非常超值👇

欢迎关注 👇 一起学习交流

如果觉得本文有用的话,感谢点赞、在看➕关注👆,我是一臻,咱们下期再见❗️

#AI#人工智能#AI工具 #WorkBuddy #Excel

相关学习资料