2020年,Excel推出了LET函数。它允许你在单个单元格内定义变量,把复杂逻辑压缩成一行优雅的代码。我当时立刻成了忠实用户——毕竟,能用一行公式解决的事,何必拖成三列?

但两年后,我彻底弃用了它。不是因为功能不够强,恰恰相反,是因为它太强了,强到让表格变成了黑箱。

打开网易新闻 查看精彩图片

LET的设计初衷很美好:遵循软件工程的"DRY"原则(Don't Repeat Yourself),把重复计算抽成变量,提升性能、减少冗余。变量严格局部,用完即焚,不会污染工作簿的命名空间。理论上,这是电子表格向专业编程靠拢的一大步。

问题出在"压缩"二字。当多步计算被塞进单个单元格,中间逻辑就从网格上消失了。数据进去,结果出来,过程不可见。对熟悉代码的人来说,这像在读JavaScript片段;对普通用户来说,这直接就是天书——他们习惯了从左到右的公式流,现在要垂直阅读代码块。

更麻烦的是维护。日常报表本不需要微积分级别的抽象,LET却强行增加了认知负担。三个月后回看自己的公式,我常常愣住:这个变量名代表什么?当时的计算逻辑为什么要这样拆分?

我的解法很老派:拆成辅助列。一步一列,从左到右铺开。基础计算一列,条件判断一列,最终汇总再一列。原本藏在公式里的中间步骤,现在摊开在阳光下。

好处立竿见影。数字对不上?横向扫一眼就能定位哪一步出错,不用拆解嵌套三层的花括号。同事接手?不用先上一堂LET语法课。自己三个月后复盘?每列的用途一目了然。

这不是反对进步。LET在特定场景仍有价值——超大数据集的性能优化、需要反复引用的复杂计算。但对日常仪表盘和常规报表,优雅往往是可维护性的敌人。

有时候,最好的Excel技巧,是克制使用技巧。