简介:AI能草拟文本、整理脏数据,但涉及金额口径、对账与多人协作,公式才是可复查的契约。本文给出“公式保底、AI旁路”的混用策略:用条件汇总、查找、分支、文本日期处理与数据验证钉死关键列,把模型限定在抽取与草稿环节,并强调可追溯、权限与交接,帮助读者在提效的同时守住数据可靠性。
先说结论:需要,但“需要”的范围变了。AI 让公式从“体力活”变成了“契约层”——它不再是你要背下来的字典,而是你用来把业务口径钉死在表里的那几根钉子。真正该学的不是五层嵌套的炫技,而是几类能覆盖绝大多数场景的基础函数,以及围绕它们建立的协作习惯。
去年有一次,为了省事,我把一整张销售明细丢给模型,让它“帮忙优化一下”。它确实整理得漂亮,还自动补了几列洞察。结果月底对账对不上。
原因很土:原来有一条隐藏规则——退货要按到账日拆成两期,而不是按下单日。模型不知道这条规则,我当时也没写进提示词。
这件事暴露的并不是“AI 不行”,而是职责边界不清:模型的输出是概率性的、不可追溯的;而财务口径必须是确定性的、可复现的。 一旦把后者交给前者,出问题时你连回滚点都没有。
从那以后我划了一条线:
企业里很多事故不是“算错了一次”,而是“说不清怎么算出来的”。出了事,你需要的是复盘路径,不是一份漂亮但不可追溯的结果。
公式在这件事上有天然优势:
所以公式的价值重心,已经从“算得快”迁移到“说得清”。
我不建议把函数当字典背。会下面这几类,日常 90% 的场景就能覆盖:
多条件求和与计数是报表的骨架。关键在于条件区域与求和区域严格对齐,以及把口径写成参数而不是硬编码在公式里。
=SUMIFS(明细[金额], 明细[门店], $A2, 明细[日期], ">="&$B$1, 明细[日期], "<="&$C$1)
把起止日期放在单元格里,而不是写死在公式中,本身就是一种“口径文档化”。
跨表取数是另一类高频需求。优先用 XLOOKUP(支持默认返回值、可反向查找);在老版本环境里用 INDEX-MATCH 兜底。要点是查找键的唯一性——重复键是取数错误的头号来源,取数前先用 COUNTIFS 验一遍键是否唯一。
=XLOOKUP($A2, 主数据[编码], 主数据[单价], "未匹配")
第四参数给一个显式的“未匹配”文本,比返回 #N/A 更利于人工排查。
分支逻辑要克制。IFS 比多层嵌套 IF 可读性好得多,但分支超过三四层就该考虑换成映射表——用一张“条件-结果”对照表加 XLOOKUP,比在公式里堆判断更容易审计。
这一类的真正难点不在函数本身,而在数据不干净:文本型数字、带空格的数字、不可见字符、日期被存成文本。清理往往比计算更耗时。常用手段包括 TRIM、CLEAN、VALUE、分列,以及用 TEXT 统一输出格式:
=TEXT(VALUE(TRIM(CLEAN($A2))), "yyyy-mm")
数据验证(下拉、范围限制、唯一性)是最被低估的一项。它把“事后清洗”变成“事前约束”,从源头上减少脏数据。规则能前置的,就不要留给下游公式去容错。
我以前也炫技,一行里塞五层判断,当时觉得很爽。后来请假一周,同事不敢动那列,回来一堆红字等我。
那种“爽”本质上是把风险存成了单点故障:只有你能维护的公式,就是团队的负债。
几条自律原则:
我的做法很土,说人话就三句:
稳定之后,再考虑用脚本把重复流程固化。一上来就全托管,出问题你连回滚点都没有。
这个流程的核心是“分段交付”:AI 负责非确定性环节,公式负责确定性环节,人工负责抽样校验。三者各司其职,任何一段出问题都不会污染全链路。
团队表越来越多的时候,我更愿意让规则活在大家都能打开的地方。
| 环节 | 推荐承担者 | 理由 |
|---|---|---|
| 金额、税率、对账口径 | 公式 | 确定性、可审计、可 diff |
| 脏文本抽取、字段归类 | AI 草稿 + 人工抽样 | 非结构化输入,模型优势明显 |
| 表头命名、措辞润色 | AI | 低风险、高收益 |
| 数据入口约束 | 数据验证 | 事前约束优于事后清洗 |
| 重复流程固化 | 脚本 | 稳定后再自动化 |
顺带一提:输入 XLOOKUP、VLOOKUP、SUMPRODUCT、SUM、IF、COUNTIF 这些函数的速度,很多时候确实比等模型生成还快。而公式真正的难点,从来不是函数本身,而是不规范的数据——隐藏字符、带空格的数字、文本型数字。把这些清理问题解决好,再配上“公式保底、AI 旁路”的分工,你既拿到了 AI 的提效,也守住了数据的可靠性。
所以问题不是“还要不要学公式”,而是“把公式用在哪儿”。我的答案是:用在那些出事之后你必须能解释清楚的地方。