乐于分享
好东西不私藏

Excel这个公式技巧,让复杂表格不再卡顿

Excel这个公式技巧,让复杂表格不再卡顿

前两天帮一个客户改报价单模板,打开文件我就头大——一个单元格里的公式长达六行,反复算含税单价、折扣价、运费分摊,同一个计算出现了四五次。

客户说:"这个表一超过500行就卡,而且我想改一个税率,得把公式里所有地方都找出来改,上次改漏了一个,给客户报错了价。"

这就是典型的中小型Excel"技术债",公式能跑,但没人敢动。

LET函数解决什么问题

Excel里有个常见问题:同一个中间值,在公式里反复计算

比如算"含税总价",你得先算"含税单价 = 单价×(1+税率)",然后用"含税单价×数量"得到总价。

没有LET的话,表格里每个相关单元格都要完整写一遍 单价×(1+税率)×数量,表格大了,每个单元格都在重复算 单价×(1+税率) 这一步。

有LET的话,你先定义变量,后面直接引用,同一个计算只跑一次,公式也好读得多。

基本写法

=LET(变量名1, 值或计算1, 变量名2, 值或计算2, ..., 最终计算)

具体例子,算报价单里的一行:

=LET(  单价, A2,  数量, B2,  税率, 0.13,  运费, C2,  含税单价, 单价 * (1+税率),  小计, 含税单价 * 数量,  合计, 小计 + 运费,  合计)

最外面那个合计是返回值,LET函数拿前面定义好的变量算最后结果。

对比传统写法:

=A2*(1+0.13)*B2 + C2

一个还好,如果"含税单价"要在三四个地方用到,传统写法每个都要重写一遍 A2*(1+0.13),改税率的时候得改三四个地方,漏一个就是事故。

实际场景:报价单模板

做报价单最头疼的是:客户要求改税率(比如从13%调到9%),或者加一项"折扣率",公式里到处都是要改的地方。

用LET写报价单的核心计算,把所有"可调参数"都定义成变量,放在公式最前面:

=LET(  单价, A2,  数量, B2,  税率, 0.13,  折扣率, D2,  运费, E2,  含税单价, 单价 * (1+税率) * (1-折扣率),  总价, 含税单价 * 数量 + 运费,  总价)

以后税率改成9%,只要改一个地方(税率, 0.09),全文所有用到这个变量的计算全部跟着变。

什么版本能用

  • • Excel 2021 及以后版本 ✅
  • • Microsoft 365 ✅
  • • WPS Office 最新版(2024以后)✅
  • • Excel 2019 及更早版本 ❌ 不支持

如果你用的是 Microsoft 365,或者公司刚采购了新电脑,Excel 2021 一般自带,不用额外操作。WPS 的话,2024年以后的版本才支持 LET,更早的版本用不了。

性能有帮助吗

表格几百行的时候区别不大,几千行、公式到处引用的场景,重算速度快不少。但说实话,大多数中小企业用 Excel 的场景,性能不是最大问题,公式可读性才是——公式看不懂,改不动,出错了找不到原因。

LET 最大的价值是变量名比 A2*(1+0.13)*B2+C2 好懂多了,换个人来维护也看得懂。

老版本Excel怎么办

如果公司还在用 Excel 2016 或更早版本,LET函数用不了。有个替代方案:名称管理器

在【公式】→【名称管理器】里,定义一个名字叫"含税单价",引用位置填 =Sheet1!$A$2*(1+0.13),然后在单元格里就可以直接写 =含税单价*B2

这种方法比LET难维护,但比直接写一长串公式好读一点。最根本的解决方案还是升级Office版本。

下一步可以学什么

LET函数搞懂之后,可以看看LAMBDA函数,它能让你自定义一个可复用的函数,比如"计算含税价"写成一个公式,全表格都能调用,比LET更强大。下次有机会再细讲。

我是常大虾,做了多年中小企业IT运维,这些技巧都是日常帮客户干活时攒下来的,觉得有用转发给同事看看。