粉丝私信我 Excel 对账,我回了一段话,她省下一下午
- 2026-11-05 06:45:45
上个月底,后台收到一条挺长的私信。
一位读者,做采购的。她说每个月月底最怕一件事:拿公司的采购明细,去跟供应商发来的对账单核一遍。两边都两千多行。
她要找的就三样东西:哪几笔我们记了对方没记,哪几笔对方记了我们没记,还有哪些两边都记了、金额却对不上。
她说:「这个我一般弄一下午。」
我回她:别在 Excel 里硬对,你把两张表导成 CSV 发我看看。
第二天她回来,说弄完了,20 分钟,只剩 3 条要她自己判断。
① 她那一整个下午,大半花在假差异上
手工对账的路径,干过的人都熟:先 VLOOKUP 把对方表的金额匹配过来,两列相减,筛出不为 0 的行,然后人眼一条条确认真假。
听起来就三步。
但时间全耗在第四步之后——筛出来的差异里,一大半是假的。
有的一边写 1200,一边写 1200.00,文本比就说它不等。 有的订单号一头带空格,另一头没有。 日期更常见,一边 2026/9/1,一边 2026-09-01。 还有供应商名字,一边全称「宁波某某贸易有限公司」,一边简称「宁波某某贸易」,匹配直接落空。
这些都得人一条条看过去。看到四百行以后眼睛开始跳行,还得一边看一边担心漏。
所以那句「弄一下午」不是夸张。不是算不动的活,是要人一条条判断的活。
AI 在这件事上的价值也不在「算得快」。两千行做减法,Excel 一秒钟就完了。它的价值在——它能看出 1200 和 1200.00 是同一个数,能看出这两个名字说的是同一家公司。
② 我给她的其实就一句话
我说你把两份表都导成 CSV,贴进去,加这么一句:
基准表是采购明细,核对表是供应商对账单,主键用「订单号」。逐行比,差异分三类:我们记了对方没记、对方记了我们没记、两边都有但金额不一致。
就这一句。
我没给她写长提示词,也没先教它什么叫对账。这句话里三个东西必须说清,少一个就废:
- 谁是基准。
不定基准,「漏了」和「多了」就是同一件事,只说「不一致」等于没说。 - 拿哪一列匹配。
不说,它会自己猜。猜错了后面全错,而且错得很安静——你根本看不出来它是从哪一步开始偏的。 - 分几类输出。
不交代清楚,它会给你一大段散文,读着像那么回事,拿到手没法用。
对了,有个坑先说在这儿。我自己第一次试的时候忘了说主键,它拿「金额」去匹配了。两千多行里一堆重复金额,出来的表惨不忍睹。
主键一定要明确指定,而且最好先自己确认一遍:这一列在两张表里都唯一。
③ 她拿到的结果长这样
三列,很干净:
(上面几笔是当时结果里我印象最深的,单号我做了处理。)
末尾跟一句汇总:共 21 条差异,我们独有 6 条、对方独有 4 条、金额不符 11 条。
两千多行,筛出来 21 条。
她拿这 21 条去跟供应商对,真正需要人判断的只有 3 条,剩下 18 条 AI 已经把原因说清了。
最后那一行值得单独讲:「两边都是 5,400,疑似格式差异,建议人工确认」。它没硬判。
我宁可它说「我不确定」,也不要一个看着笃定、其实错了的结论。 这一点后来成了我筛 AI 输出的第一条标准——凡是从头到尾都不说「不确定」的,我都不太敢直接拿去用。
④ 和 VLOOKUP 比,强在哪弱在哪
三个强的地方。
一是能处理「看起来不一样、其实是同一个」的情况。 1200 和 1200.00、两种日期写法、名字带不带「有限公司」。用函数要搭一串清洗规则,还总有没想到的格式;跟它说一句「金额按数值比、日期统一格式」就够了。
二是它会顺带告诉你为什么对不上。 VLOOKUP 只回一个 #N/A,不解释。它会说「这笔在对账单里,但供应商名称是简称,可能匹配错了」。
三是,也是最实在的:不用写公式。 我不用回忆 IFERROR(VLOOKUP(...)) 的括号该套在哪一层。对函数半吊子的人来说,省下的不只是时间,是那种「我可能写错了但不知道错在哪」的心理负担。
弱的地方也得说清楚,不能吹:数据量一大就不行。 我试过五万行的,它读起来吃力,还容易丢行,那种量级该上脚本或者数据库。两千行上下是它舒服的区间。
⑤ 完整的对账.md,直接抄
这份是我把上面聊的东西整理成一个固定模板,存成 对账.md 放进 Skill 目录,下次直接调:
---
name: 两张表对账
description: 比对两份表格,找出差异行并按三类输出
---
# 两张表对账
## 什么时候用
- 两个月的明细要核对
- 供应商报价和采购记录对不上
- 系统导出和手工台账要比一遍
## 我需要你提供
1. 基准表("应该是什么样"的那张)
2. 核对表(拿来比的那张)
3. 主键列名(用哪一列匹配)
## 做法
1. 两份表都读进来,先告诉我各多少行
2. 检查主键列在两张表里是否唯一,有重复先报给我
3. 按主键逐行比对,差异分三类:
- 只在基准表(漏)
- 只在核对表(多)
- 两边都有但关键字段不一致(数不对)
4. 输出三列表:类型 | 主键 | 差异说明
5. 最后给汇总:共 N 条,漏 X、多 Y、数值不符 Z
## 比对的规矩
- 金额按数值比,不要按文本比(1200 和 1200.00 是同一个数)
- 日期统一成 YYYY-MM-DD 再比
- 去掉首尾空格,全角半角统一
- 名称类字段做模糊匹配,但要标出来让我确认
- 拿不准就说不确定,不要猜
三个地方是我特意加的,说一下为什么。
「先告诉我各多少行。」 看着多余,其实救命。行数不对说明表根本没读全,后面全错,而且错得没声音。
「检查主键是否唯一。」 主键有重复会出现一对多,结果里冒出一堆假差异。让它先报给你,比你自己事后发现强。
「拿不准就说不确定。」 没这句,它会硬给一个结论。加上之后,不确定的会单独标出来——那几条才是你真正要花时间的地方。
⑥ 几个坑,先说在前面
别直接传 Excel,先转 CSV。 合并单元格、隐藏行、多 sheet 的表,直接传进去它会读乱。转 CSV 干净,你还顺便能看一眼数据对不对。
一次别问太多类差异。 我试过同时要「漏的、多的、数不对的、名字不一致的」,出来的表混着好几类,反而看不清。三类刚好。
别指望它替你做决定。 那笔 720 的差,它标了「金额不一致」,但到底谁记错了,它不知道,也不该知道。这种判断还是得人来做。
做完让它输出 CSV。 直接复制粘贴回 Excel 会跑格式,让它给 CSV,你另存一下,比手贴省事。
她后来跟我说了句话,我印象挺深。她说以前那一下午,有一半时间其实不是在「对账」,是在「反复确认自己没看错」。
我对这类活的判断标准后来就变了一条:只要一件事规则明确、重复度高、但错了要担责任,就该交给 AI。 对账是典型。发票验真、目录比对、名单查重,逻辑都一样。
函数是让机器替你算,Skill 是让机器替你判断。这两件事不是一回事。
需要这份「对账.md」的话,公众号后台回「对账」,我把全文发你。
顺手转给那个每周还在 VLOOKUP 里一行行筛的同事——他大概率不会点在看,但他会默默存下来。