DOCAI · 课程 · L2 · 21 分钟 · 核心功能应用
Claude Code 处理 Excel 数据:读取操作表格
先决定在对话里算还是让脚本算,给表头也给统计口径;清洗一次只改一类,结果用对账和公式交叉验证。
你将学会
- 能按数据量选择合适的处理方式
- 能把统计口径写进提示词并要求先复述
- 能用公式和抽样核对计算结果
先决定在哪算
同一张表,处理方式不止一种。先按三个问题选:
| 情况 | 做法 | 代价 |
|---|---|---|
| 表很小,只问几个结论 | 把表粘进对话 | 快,但结果要自己核 |
| 要反复统计、每周都跑 | 让它写公式或脚本 | 前期多花时间,后面省事 |
| 含姓名、电话等个人信息 | 先脱敏,或只在本地脚本里跑 | 多一步,但风险低 |
还有一条常被忽略:数据要不要留档。如果结果要发给别人,输出成 CSV 并附上口径说明,比在对话里截一张图靠谱。
给表头,也给口径
只贴数字,模型不知道每一列是什么意思。把表头、前几行和列的含义一起给它,再补上计算规则。
这是门店 3 月的销售明细,列为:日期、门店、订单号、金额、状态。
金额是含税收入;状态为「已取消」的行不计入销售。
先复述你对每列的理解和统计口径,等我确认后再计算。
最后那句能省掉大量返工。「销售额」听起来明确,实际至少有三种算法:下单金额、支付金额、扣除退款后的金额。它按其中一种算完,你按另一种去核,数字永远对不上。先让它说清楚打算怎么算,你再决定要不要改。
清洗:一次只改一类
真实表格的毛病很多:重复行、电话带横线、日期写法不一、城市后面多个「市」字。不要一口气提十条要求,分批做,每批都能对账。
只做四件事,其他列不要动:
1. 重复行只留一条,并告诉我删了几行;
2. 电话列去掉空格和横线,只留数字;
3. 日期统一成「年-月-日」,月和日补足两位;
4. 城市列去掉结尾的「市」。
输出 CSV,并在最后报告处理前后的行数。
「删了几行」「前后行数」是给你核对用的。数字对不上,说明规则误伤了本来不该动的行。清洗完先看被改动的那几列,其他列保持原样,这才叫只改一类。
两张表怎么合到一起
员工名册和月度绩效常常分在两个文件里,靠工号对上。这类活最考验字段是否干净。
表 A:员工名册,列是 工号、姓名、部门,约 80 行。
表 B:三月绩效,列是 工号、得分、奖金,约 120 行。
请以表 A 为主表,按工号左连接,输出 工号 | 姓名 | 部门 | 得分 | 奖金。
另外报告两件事:
1. 表 B 里匹配不上表 A 的工号;
2. 表 A 里没有绩效记录的人。
不要用姓名当连接键。
连接出错,多半出在键上:工号前后带空格、有的多一个字母前缀、有的被存成数字丢了前导零。先让两边都转成同样的文本格式再连,匹配不上的行单独列出来人工确认,不要让它猜。连完核对行数:左连接的结果应该和主表一样多;多出来说明表 B 的工号有重复,先查重再继续。
表多、每月都要合一次时,把这套步骤写成脚本更省事,思路见脚本化处理。
异常用规则扫,不要靠感觉
汇总之外,再让它按明确规则扫一遍异常。规则来自业务,模型只负责执行。
扫描这份销售明细,四条规则各查一遍,命中就给出整行内容:
1. 金额为零或负数;
2. 同一客户同一天下单超过三次;
3. 退款金额大于原订单金额;
4. 客户名、日期、金额任一为空。
没有命中的规则也要写「无」,不要省略。
只输出清单,不要改动数据。
「写无」这一条不能省。它只回命中的规则时,你分不清是确实干净,还是漏看了某条。清单出来后逐条核对:同一天同一客户下三单,可能是团购拆单,属于正常业务,不能一律当异常。规则的松紧由你定,模型的价值是不知疲倦地按同一条标准扫完所有行。
计算与核对
汇总类的问题可以直接问,但要让它把中间数一起给出来:总笔数、总额、被排除的行数。只有最终数字,错了你也不知道错在哪。
需要交叉验证时,自己动手算一小块。比如挑一个门店,把它的几行金额加一遍,和它给出的分项对得上,再信总计。去重、空值、分组边界是最容易出错的三处,核对时优先看。
如果结果里出现「人均」「达成率」这类比值,追问一句分母是什么。分母取错,比值全错,而且看起来很正常。
公式留在表里
数据还要继续在表格软件里用,就别让它只给结果,让它给公式。先把列布局写清楚:
列布局:A 门店,B 一月,C 二月,D 三月,E 季度目标。
请给出:
F 合计 =SUM(B2:D2)
G 达成率 =F2/E2(百分比,保留一位小数)
H 差额 =F2-E2
I 评级 =IF(G2>=1.2,"优秀",IF(G2>=1,"达标",IF(G2>=0.8,"待改进","未达标")))
并解释每个公式引用了哪几列。
粘进表格前,先在一行上试,确认引用没有错位。公式的好处是可复查:点开单元格就能看到它怎么算的,比一段对话记录可靠。
导回与隐私
- 小表直接复制粘贴,整表导出用 CSV。
- 中文打开乱码,多半是编码问题,换成带 BOM 的 UTF-8 再试。
- 姓名换成代号,电话遮住中间几位,身份证号不要整列贴出去。
- 行数很多时不要整表粘进对话,分批处理或让脚本在本地跑,思路见上下文窗口。
- 输出文件里留一段口径说明:数据范围、含税与否、排除了哪些行。
把表格整理成周报是同一套方法的延伸,可以接着看把一份 CSV 变成周报。
表格处理顺了,下一步是从数字里读出结论:数据统计分析。
自测
先自己回答,再展开对照;答不上来就回到对应小节。01为什么算之前要让它先复述统计口径?看答案
总额、均值这类数字依赖口径,含不含税、算不算退款、日期范围如何界定,都会改变结果;复述能提前暴露理解偏差。
02清洗数据时为什么一次只改一类问题?看答案
一次改一类才能对账,比如删了几行、改了几条;混在一起出错了无法定位是哪条规则造成的。