AI 写 Excel 公式:5 条「人话指令」模板,复制就能用
- 2026-11-08 21:43:30
你有没有过这种时候——明明很清楚自己要干什么:「把这两张表按工号对上」「把销售部的金额合计出来」——可一打开 Excel,函数框一亮,一个字都敲不出来。
不是你不会。是你要的是结果,Excel 要的是函数名,中间隔着一段没人替你翻译的话。
现在这段翻译可以交给 AI。但先说一件讲这类内容的人基本不讲的事:AI 给的公式,常常在你这台电脑上跑不了。
不是它算错,是它根本不知道你的 Excel 是几年前装的 —— 它默认你用最新版。而这类错误不是随机的,有三种固定套路。先把这三种看清,再谈怎么问。
一、AI 会骗你的 3 个地方
这部分比后面的模板更值钱。AI 出错不是随机出错,它有固定套路,摸清一次,后面少踩很多坑。
坑 1 · 给你一个你的版本没有的函数
它默认你在用 365。这些函数在老版本 Excel 里不是算错,是直接报 #NAME?:
对策两句话:问法里带版本号;拿到公式先扫一眼有没有上表里的新函数。看到一个 #NAME?,先怀疑版本,别怀疑自己打错了。

AI 给的函数名,只要这台 Excel 不认识,整列就都是 #NAME?。老版本缺 XLOOKUP 是这样,AI 编一个 VLOOKUPX 也是这样
坑 2 · 编造不存在的函数
AI 会给出一本正经的「VLOOKUPX」,或者「SUMIFS 的第 5 个参数」这种不存在的东西。它不心虚,格式还特别规范。
有个办法能当场验:点编辑栏左边的 fx,在「插入函数」窗口顶部的搜索框里搜这个名字 —— 搜的是你这台电脑 Excel 自己的函数库。搜不到,就说明它给的东西不能用;至于究竟是 AI 编的,还是你的版本里没有,对你来说没区别,反正都得换一个写法。
所以日常最省事的判断只有一条:只要报 #NAME?,就先当它不能用,别急着怀疑自己括号打错了。
坑 3 · 把区域写死,拖慢整张表
AI 不知道你的表有多少行,于是一律给你 $A$2:$A$99999——一个「够大」的范围。几十个这样的公式摞在一起,表就开始转圈。
对策:改成整列 A:A;或者把数据源转成超级表(选中数据按 Ctrl+T),公式会自动跟着行数走,增删行都不用改。
这三个坑的共同点是:AI 看不见你的表,也看不见你的 Excel,它只能猜。 所以解法不是练眼力去挑它的错,而是一次性把这三件事讲清楚 —— 就是下面这三段话。
二、有效的问法只有三段
大多数人用错了 AI:把它当搜索引擎,问「VLOOKUP 怎么用」;正确用法是把它当刚入职的同事,告诉它「我要什么结果」。
具体到操作上,就是把下面三段说全:
数据在哪 → 我要什么结果 → 我的 Excel 是哪个版本
三段缺一段,你拿到的公式就多半不能用。尤其第三段,大多数人会漏,而它恰恰是坑 1 的直接原因。
第一段,数据在哪。 说清是哪一列、范围到哪。别写「我的表里」,要写「A 列是部门,B 列是金额,数据在 A2:B100」。范围不写,AI 只能猜,猜出来的引用经常错得莫名其妙 —— 公式看着没错,结果就是不对。
第二段,我要什么结果。 描述结果长什么样,不要描述你想用什么函数。说「按工号把姓名带过来,找不到的写『无此人』」,比说「怎么用 VLOOKUP」有效得多——后一种问法,AI 只能给你一篇通用教程。
第三段,我的 Excel 是哪个版本。 这不是客套。2021 版能用的函数,在一台 2016 版的办公电脑上会直接报 #NAME?。多写这一句版本号,能挡掉上面那一整个坑。
三、5 条可以直接复制的模板
模板只是把上面三段填成具体内容,不用背,存下来,遇到同类需求换掉列名就行。
模板 1 · 按条件合计(SUMIF)
错「帮我写个求和公式」
对「A 列是部门,B 列是金额,数据在 A2:B100。我要算 A 列等于"销售部"的 B 列合计。我的 Excel 是 2016 版。给我公式,并说明每个参数什么意思。」
公式=SUMIF(A2:A100,"销售部",B2:B100)
说明三个参数分别是「在哪一列找条件」「找什么」「把哪一列加起来」。SUMIF 和 SUMIFS 的参数顺序刚好相反、条件里的引号怎么写,我在《按条件求和》那一篇里拆过,这里只留一句最要紧的:条件里的文字必须加英文双引号,这是新手最常见的报错来源。
模板 2 · 两张表按编号对数据(VLOOKUP)
错「VLOOKUP 怎么用」
对「表 1 的 A 列是工号,我要在 C 列带出姓名;表 2 的 A 列是工号、C 列是姓名。找不到的显示"无此人"。我的 Excel 是 2019 版。」
公式=IFERROR(VLOOKUP(A2,表2!A:C,3,0),"无此人")
说明最后一个 0 表示精确匹配。它为什么一个字都不能省、写成 1 会错成什么样,在《VLOOKUP 总报 #N/A》那篇里讲过,这里不复述;记住 IFERROR 干的事——把满屏的 #N/A 换成一句人话就行了。

上:表1(A1:C8);下:表2(A1:C8)。两张表的 A 列都是工号,只是表2 多了一列姓名

C2 写入公式后下拉到 C8。表2 里没有 G2001,所以最后一行显示「无此人」,不是 #N/A
模板 3 · 按分数分等级(IFS / 嵌套 IF)
错「怎么根据分数分等级」
对「B 列是分数:90 以上给 A,80 到 89 给 B,60 到 79 给 C,60 以下给 D。我的 Excel 是 2016 版,能用 IFS 吗?不能用就给嵌套 IF。」
公式=IF(B2>=90,"A",IF(B2>=80,"B",IF(B2>=60,"C","D")))
说明注意它为什么敢直接问「能用 IFS 吗」——因为你知道要说版本。2016 版没有 IFS,AI 照着你的版本给嵌套 IF,坑 1 就绕开了。
嵌套 IF 是从大到小逐层筛,条件顺序写反,全部分错等级。
模板 4 · 从一长串里抠出中间那段(MID + FIND)
错「怎么把括号里的那串数字弄出来」
对「A 列格式是"张三(1024)",括号里是工号,位数从 2 位到 6 位不等。我要单独取出括号里那串数字。我的 Excel 是 2016 版。」
公式=MID(A2,FIND("(",A2)+1,FIND(")",A2)-FIND("(",A2)-1)
说明FIND 先找到左括号在第几位,加 1 跳过它;再用右括号的位置减去左括号的位置、再减 1,得到括号里到底有几个字符。好处是不写死位数——工号从 2 位变成 6 位,公式照样对,这是这类文本拆分最容易踩空的地方。
模板 5 · 一列拆成好几列(分列 / TEXTSPLIT)
错「怎么把一列拆开」
对「A 列是"张三,13800000000,销售部",要用逗号拆成三列。我的 Excel 是 2016 版。」
说明2016 及以下用「数据 → 分列 → 分隔符号 → 逗号」,不需要公式;365 可以用 =TEXTSPLIT(A2,",")。
能用内置功能就别写公式。 分列是一次性转换,转换完就是普通数据;公式是每次打开都要重算一遍。这条判断优先于「哪个更高级」。
最后
这 5 条模板我整理成了一张卡,在公众号回复「公式」直接取。
下一篇讲另一类坑:AI 给的公式完全正确,粘进你的表却算出 0。那不是函数的问题,是数据本身的问题——日期存成了文本、数字后面跟着空格,这些 AI 从你的描述里看不见。