ARTICLE · 1358615
AI 洗 Excel 最容易算错账:6 步补一份清洗日志,附模板
一键洗净
少算一万五它不报错
6 步 · 3 页交付
26 行脏表 · 11 条日志 · 3 个数对账
米核AI|Xuan
10 Parts + 一起研究
👉 滑动
PART 01
前置
1/10
PART 02
四层目录
2/10
PART 03
只读体检
3/10
PART 04
三条口径
4/10
PART 05
逐行日志
5/10
PART 06
三段对账
6/10
PART 07
数三个数
7/10
PART 08
验收
8/10
PART 09
排错
9/10
PART ///
抄作业区
10/10
11 月 15 日凌晨,我拿一张 26 行的订单流水试清洗。AI 交回一张干净表:没有报错,没有一个空格,23 行排得整整齐齐。
我顺手核了下合计:138,960。
真实值是 154,000。
少掉的 15,040 不是它算错,是它把三行「5,120元」这种算不出来的金额,安静地跳过了。表更干净了,账更歪了。
这篇教你洗完还能对得上账。读完能带走三样东西:
一个三页的交付结构:明细、清洗日志、异常待确认——不是一张表,是一份能倒查的账。
一份清洗日志模板(11 条样例,每条带原表行号),随便抽一条都能翻回那一格。
一套三段式对账:两个数加一个减一个,差额两边都要有名字。

— 四个目录的分工:原件只读、副本清洗、成果交付;红框是唯一允许写字的两个目录
01
PART
先确认你手上是这个情况
桌面版 WorkBuddy,能新建任务、能选工作目录(网页版碰不到本地文件)。
Windows 10/11 或 macOS 都行,本篇在 Windows 上跑,用 openpyxl 读写 xlsx。
一份有脏数据的表:重复行、空值、文本金额、日期混排,至少占两样。
一张你信得过的参照数:原表含税总额、财务给的数、上月对账单,任选一个。
接受多花 10 分钟,这 10 分钟是给你核日志的。
02
PART
第 1 步:先建四层目录,原件一个字节都不动
在哪点:文件管理器里,在项目盘建一个目录,比如 D:\对账-11月。
填什么:四个子目录,一次建完。
可以直接照着抄
01_原始数据 ← 原件放这里,全程只读
02_工作过程 ← 副本、体检表、中间稿
03_交付成果 ← 明细 / 清洗日志 / 待确认 / 对账报告
04_归档 ← 变更记录
预期结果:01_原始数据 里有 订单流水-2026-11上.xlsx,右键属性看一眼修改时间,记在心里。
注意:把表复制进 02_工作过程 再开工,不要在原件上洗。一旦在原件上改过一格,后面所有「哪一行原来是什么」都失去参照,日志就再也倒查不了。顺手把原件的数据行数(我这份 26 行)记在体检表第一行,它是第 5 步行数守恒的起点,凭记忆说不准。
03
PART
第 2 步:只读体检,先让它交问题清单
在哪点:WorkBuddy 新建任务,工作目录选 D:\对账-11月;输入框下方把模式切到 Ask(只读,不动文件)。
填什么:体检指令,只让它看,不让它改。
可以直接照着抄
只读取 01_原始数据 里的表,不要新建、修改、删除、移动任何文件。
请输出一份体检表,逐项给出行号(用 Excel 的真实行号,表头算第 1 行):
1 整行空白;2 整行完全重复(重复行 → 首次出现行);
3 订单号重复但内容不同;4 各字段空值;5 金额列里是文本的值;
6 日期写法有几种、各几行;7 单价×数量 与 销售额 不符的行;
8 同一字段的写法不一致(如城市带不带「市」);9 数量为 0 或负数。
最后分两栏:哪些问题能按规则自动修,哪些必须人来定。本轮只输出体检表。
预期结果:屏幕上出现一份带行号的清单。我这张表的体检结果是:空白 1 行(第 15 行)、整行重复 2 行(24 与 12、27 与 26 重复)、订单号冲突 1 组(A003)、客户空 2 处、文本金额 3 处、日期 4 种写法、金额不符 2 处、城市写法 2 处、数量 ≤0 共 2 行。
注意:第 9 条里那 3 行文本金额,就是后面少算 15,040 的元凶。体检阶段只看不动,别急着让它顺手改——先让问题变成一份清单,再谈修。把这份清单存成 02_工作过程/体检表.md,第 4 步判异常时以它为准,不靠记忆。

— 体检表的九类问题:左边七类可自动修,右边三类(红框)必须人工拍板
04
PART
第 3 步:把三条口径写死,再让它动手
在哪点:同一个任务里,模式切到 Plan,先让它复述规则,暂时不许执行。
填什么:三条口径。这三条是我在内部教程的基础上自己加的,原教程只写了「去重、统一格式」,没写这三条。
可以直接照着抄
这次清洗按三条口径,任何一条做不到就停下来问我:
口径 1 原表只读:02_工作过程 里的副本可以改,01_原始数据 里的原件不许动,成果另存到 03_交付成果。
口径 2 唯一键是订单号:订单号重复且内容不同时,不删、不合并、不猜「保留最后一条」,整行进「异常待确认」。
口径 3 金额以表里的「销售额」为准:与单价×数量不符时进「异常待确认」,不擅自按单价×数量重算。
请先复述三条口径,并说明按这个口径会有几行进「异常待确认」,然后停下等我确认。
预期结果:它复述三条,并告诉你「预计 6 行进待确认」。这 6 行是:A003 冲突 2 行、客户空 2 行、金额不符 2 行。
注意:口径 3 最容易被跳过。折扣、退货、补差价都会让「单价×数量」和实收对不上,按单价×数量重算等于替客户改账。我这表里第 12 行差 −600(口头折扣)、第 25 行差 +5,940(单价被手改成 1,000),两条都不是清洗能判的。

— 三条口径卡:口径、为什么、违反了会怎样;右下角是它必须复述的那句确认
05
PART
第 4 步:清洗,但每改一处记一行日志
在哪点:口径确认完,模式切到 Craft,让它在副本上执行。
填什么:按「输入 / 规则 / 输出」三段写,输出里那句「逐行记日志」是整篇的重点。
可以直接照着抄
输入:02_工作过程/订单流水-副本.xlsx,只读第一个工作表。
规则:删整行空白;删整行完全重复(保留首次出现);日期统一 YYYY-MM-DD;
城市去掉尾部空格与「市」;文本金额去掉千分位与「元/¥」后转数值。
输出:03_交付成果/订单数据-清洗后.xlsx,三个工作表——
1「明细」:入账行,末行加合计公式(=SUM),不要写死数字;
2「清洗日志」:原表行号 / 字段 / 改前 / 改后 / 原因,一处改动一行;
3「异常待确认」:口径 2、3 拦下的行,原样保留数值,加一列「为什么没自动改」。
不许覆盖原件;金额一律不改写,只做格式转换。
预期结果:03_交付成果 里多出 订单数据-清洗后.xlsx,打开是三个工作表。我这份:明细 16 行、日志 11 条、待确认 7 条。
注意:这里有个静默陷阱。转数值转不了的时候,很多实现会直接置空——3 行文本金额变成空单元格,合计跟着少 15,040,但表上不会有任何报错。所以日志里必须记下这 3 处「改前 5,120元 → 改后 5120」,让你能看见它到底转成了什么,而不是「转失败了」。

— 成果文件的三页:明细只放能入账的、日志一处一行、待确认原样留着并写清原因
06
PART
第 5 步:三段式对账,让差额有名字
在哪点:同一个任务里接着问,不用新建任务。
填什么:把三个数摆在一起算,缺哪边补哪边。
可以直接照着抄
现在做对账,只输出数字和差额来源,不要改文件:
1 行数:原表数据行数 = 删空白 + 删重复 + 保留;保留 = 入账 + 待确认 + 零金额。
2 金额:先在原表上按 Excel 的 SUM 口径算一个数(文本会被跳过),
再算真实合计;差额分别列出「被跳过的文本金额」和「重复被多算的金额」。
3 日志:日志条数是否等于改动处数,抽 1 条给我原表行号、改前、改后。
三个数任意一个对不上,直接说对不上,不要凑。
预期结果:三段数摆出来。我这份是:
可以直接照着抄
138,960(Excel 直接 SUM)
+15,040(3 行文本金额被跳过)
−14,740(2 行整行重复被多算一次)
= 139,260 = 入账 99,280 + 待确认 39,980 + 零金额 0
注意:基准要用原表的 SUM,不要用清洗后的合计。用清洗后的数去对清洗后的数,永远对得上,等于没对。重复行被删会让合计变小,14,740 必须显式减掉,不然你会以为清洗把账算漏了。这三笔数要写进对账报告,别只留在对话里——下周核同一份表还得用。

— 金额三段式:加回被跳过的、减掉被多算的,剩下的才等于入账加待确认
07
PART
第 6 步:打开文件数数,不看聊天里的「已完成」
在哪点:直接打开 订单数据-清洗后.xlsx,不是在对话里看它的总结。
填什么:数三样——工作表几个、明细几行、日志几条。
可以直接照着抄
用代码打开 03_交付成果/订单数据-清洗后.xlsx,只读取不修改,告诉我:
每张表的名称、明细页数据行数(去掉表头和合计行)、合计单元格的公式原文、
清洗日志条数、异常页记录数。再确认明细页金额列有没有空值。
预期结果:三个工作表 明细 / 清洗日志 / 异常待确认;明细 16 行;合计是公式 =SUM(H2:H17) 而不是一个死数字;日志 11 条;金额列空值 0 行。
注意:合计一定要是公式。写成死数字的表,下一个人加一行就错,而且你没法验证它是怎么算出来的。我第一版就是写死的,改成公式后才发现明细页少了一行——那一行被错分进了待确认。

— 验收只看三个数:26=1+2+23、16+6+1=23、99,280+39,980=139,260
08
PART
做完怎么确认成了
01_原始数据 里原件的修改时间还是开工前那个,一个字节没动。
成果文件有三个工作表,名字分别是明细、清洗日志、异常待确认。
明细页末行的合计是公式(点进去能看到 =SUM(...)),不是手打的数字。
清洗日志条数 = 你数出来的改动处数(我这份 11 条)。
入账 + 待确认 + 零金额 = 保留行数,且原表 = 删掉的 + 保留的。
09
PART
卡住了照这张单子查
现象:合计比原表小一截,却没报错。 先看金额列有没有空单元格;再翻日志里文本金额那几条的「改后」;最后回原表看那几行。修法:转数值失败不要置空,保留原文标红或进待确认——空值不吵不闹,只让总数变小。
现象:明细页少一两行。 先数待确认页有没有不该在那儿的行;再对「保留 = 入账 + 待确认 + 零金额」。修法:分类顺序固定为「客户名 → 唯一键 → 金额」,一行只归一类,否则重复分拣。
现象:差几百到几千,怎么算都不对。 先确认基准是原表 SUM;再确认重复行有没有显式减掉;最后看有没有负数的退货行被当异常扣掉。修法:把差额拆成「文本漏算」和「重复多算」两笔。
现象:同一订单号两条,AI 删了一条还说「已去重」。 先看日志有没有这条删除;再比对两条的客户与金额。修法:把「重复且内容不同 → 进待确认」写成硬规则,不许它自己选——它不是懒,是在替你做决定。
真实成本账:从造表到对账完成约 40 分钟,其中 AI 执行不到 5 分钟,剩下全是我在看日志和核那 6 行;返工 2 次,一次是合计写成死数字,一次是漏了「零金额」这一类;消耗是本机算力,没上传任何数据,没花积分。还没做成:没做多表合并(12 个月的表口径统一是另一件事);异常分级只做到「为什么没自动改」,没做「谁该签字」;模式入口你那边可能和我不一样,以看到的 Ask / Plan / Craft 为准。
///
LAST
抄作业区:一段能一次跑完的提示词
上面四段合成一段,粘一次跑完;跑完再单独问第 5 步的对账。
可以直接照着抄
工作目录 D:\对账-11月。先只读 01_原始数据 里的表,按第 2 步那九类出体检表(行号用 Excel
真实行号,表头算第 1 行),分「可自动修 / 必须人工定」两栏,这一轮不许改文件。
确认后按三条口径执行:① 原件只读,成果另存 03_交付成果;② 唯一键是订单号,重复且内容
不同进「异常待确认」;③ 金额以「销售额」为准,与单价×数量不符也进「异常待确认」,不重算。
输出 订单数据-清洗后.xlsx:明细(合计用公式)、清洗日志(行号/字段/改前/改后/原因,一处
一行)、异常待确认(原值 + 原因列)。完成后只报三个数:行数守恒、金额三段式、日志条数。
今晚就能做的一个动作
别拿真正的月报试。找一份你已经知道的表(哪怕只有 30 行),只跑第 2 步的体检,然后自己去 Excel 里 SUM 一遍金额列——如果两个数不一样,你就找到了那颗定时炸弹。
ONE LINE
AI 洗表洗掉的是格式,不是错账;账要你对,它只负责把差额指出来。
想一起研究的话
如果你也是一个人在研究AI,如果你也想找一群志同道合的朋友一起研究讨论WorkBuddy,那么关注我,回复蓝皮书,我拉你~。已准备好了【WorkBuddy全套实战资料库】,送给志同道合的朋友。
米核AI|Xuan



资料库目录实拍 · 关注后回复「蓝皮书」自取















































































