excel 里的 let 函数,能先给中间计算结果自定义名字,后面写公式的时候直接反复调用这个名字就行。平时写嵌套了一堆 if、averageif、filter 的长公式,把重复计算的部分提前提成变量,整个公式会短很多,排查错误也方便。
先找出公式里重复出现的计算
打开你要整理的公式,先别急着动手改,先扫一遍公式栏,看看有没有同一段计算反复出现的情况。比如按部门平均绩效分档的公式里,AVERAGEIF 会被调用两次:一次判断结果是不是小于等于 3,一次判断是不是小于等于 4。这种公式虽然能跑出结果,但整行特别长,之后要是字段名或者条件要调整,得挨个改好几个地方,很容易漏。

这种重复计算的场景,就是 LET 最适合发挥作用的地方。不用把每个单元格引用都设成变量,变量太多反而更难读,优先提那些真的重复出现、含义明确、后续要多次参与判断的计算段就行。
用 LET 给中间结果命名
整个公式的结构改成 =LET(变量名, 变量值, 最终计算) 就行。拿前面的例子来说,把 AVERAGEIF 算出的结果命名为 AvgScore,后面所有 IF 判断直接用 AvgScore 代替就好。这么改完 Excel 只会算一次平均分,公式读起来也一目了然:先算出部门平均绩效,再按阈值返回 Below Average、Average 或 Above Average。

LET 里的变量名建议用英文或拼音,别取 A1、C2 这种看起来和单元格地址一模一样的名字,也别和名称管理器里已经存好的名称重名冲突。变量名定义完,后面的公式要引用它的时候拼写必须完全一致,要是拼错了,Excel 会直接报名称相关的错误。
把复杂公式拆成可检查的顺序
写 LET 的时候要按“先定义、后使用”的顺序排参数。第一组参数是变量名,第二组对应这个变量要存的计算结果,最后一个参数才是最终要返回到单元格里的内容。公式越复杂,越要给变量起一眼能看懂的名字,比如 TotalSales、TaxRate、AvgScore 这类。
要是公式里需要定义好几个变量,顺着往后加参数就行:=LET(a,计算1,b,计算2,最终结果)。排查错误的时候从左往右读,先确认 a 的计算结果是对的,再确认 b 引用 a 的逻辑没问题,最后看最终输出的结果,比在一整行长公式里数括号要舒服得多。
改完后用结果列做一次对照
LET 只是换了公式的写法,完全不会改变原本的计算逻辑和结果。改完之后,把原来公式的结果列和用 LET 写的新公式结果列并排,对照着看几行。两列的数全对得上,说明提取变量的时候没改坏原有逻辑;要是某一行结果对不上,优先查变量的引用区域、条件单元格和括号位置有没有错。
最后把公式往下整列填充,确认单元格引用会跟着行号正常变化。如果是 M2 这类需要逐行变化的条件单元格,就用相对引用;要是需要固定某个全局参数,就加个 $ 符号锁定。LET 确实能让公式可读性高很多,但引用要不要加锁,还是得按原本的业务逻辑来判断。


















