公式里同一个计算写了3遍?Excel这个LET,起个名算一次,好读又快
- 2026-11-05 12:45:05
上礼拜帮销售部的小张改提成表,他把「毛利率评级」那列的公式发我:=IF((B2-C2)/B2>0.3,"强",IF((B2-C2)/B2>0.15,"中",IF((B2-C2)/B2>0,"薄","亏")))。我盯了三秒才看懂——一个式子里,(B2-C2)/B2 反复出现了三回。我问他,口径要是变了、分母得换成净额,你得改几处?他想了想:三处,还容易漏。更别提几千行的表,Excel 还得傻乎乎地把同一截算式重复算三遍。
这种「同一截算式写了好几遍」的长公式,Excel 早备好了专治的函数:LET。它干的事特别朴素——给公式里的每一步起个名字,算一次,往后这个名字想用几遍用几遍。公式立刻从天书变成说明书。
1先认痛点:同一个子计算,你写了多少遍
判断方法很土:把公式从头读一遍,看到同样的括号段出现第二次,就中招了。危害有三个——读不懂,嵌套三层 IF,同事接手不敢碰;改不动,口径一变要改三处,漏一处整列出错;跑得慢,同一个计算重复做,数据一多就拖后腿。说白了,这三条都指向同一个病根:Excel 不知道那三截算式是「同一件事」。
2LET 三步法:起名字、算中间量、出结果
用 LET 重写刚才的评级公式:先给输入起名(收入=B2,成本=C2),再算中间量(毛利率=(收入-成本)/收入,只算这一次),最后一行写判断。毛利率这个名字在后面的 IF 里随便用,Excel 都认。写长公式时在公式栏按 Alt+Enter 换行,一段一段排下来,读起来就像操作手册,谁是输入、谁是中间量、最后出什么,一眼分明。
3两个狠好处,外加一个进阶玩法
好处一是好读懂:中文名字串起来,交接、半年后回看,照着名字就能懂,不用解那一堆括号。好处二是跑得快:同样的子计算只算一次,1,000 行、重复 3 遍的式子,换成 LET 后计算量能降四成上下,表越大越明显。进阶玩法是 LET 配 XLOOKUP:把三步查找写进一个公式——先起名「代码」,再分别查「价」和「量」,最后一行出「价*量」。逻辑清清楚楚,改起来也只动一处。
回到小张。改完 LET,口径一变只动一处,公式发给同事也没人再问「这是啥」。说白了,LET 就是给公式里反复出现的算式起了个名字,可省下的,是反复解释、反复修改、反复等它算完的功夫。下回写长公式前,先看一眼哪段在重复——给它起个名,LET 替你算一次就够。