Excel 最强函数:LET(90%的人不会用)
很多人用 Microsoft Excel 写公式时都有一个痛点:公式太长、太乱、改不动。
例如一个常见计算:
=(A2*B2+C2*D2+E2*F2)/(A2+C2+E2)
还能看懂。但如果是实际工作中的公式,往往是这样:
几十个括号 + 重复计算 + 看不懂
一旦要改:
基本等于重写
这时候,一个很多人没用过的函数就非常关键:LET
一、LET 到底是干什么的
用来在公式里定义变量。
语法:=LET(变量1,值1,变量2,值2,…,最终计算)
也就是说:
先定义变量 → 再使用变量计算
二、为什么 LET 很强
传统公式的问题:
重复计算、难读、难维护、性能差
LET 的优势:减少重复计算、让公式可读、方便修改、提升计算效率
三、最简单的例子
原公式:=(A2+B2)*2 + (A2+B2)*3
问题:A2+B2 被计算了两次
用 LET 改写:=LET(x,A2+B2,x*2 + x*3)
解释:x = A2+B2,后面直接用 x
四、真实工作场景:加权平均

原公式:=(C2*D2+C3*D3+C4*D4)/(C2+C3+C4)
LET 写法:
=LET(
qty,C2:C4,
price,D2:D4,
amount,qty*price,
SUM(amount)/SUM(qty)
)
优势在于定义清晰,给别人看的时候就知道是如何计算以及如何定义各个变量
qty总数量 = 100 + 200 + 300 = 600
amount总金额 = 500 + 1200 + 2100 = 3800
SUM(amount)/SUM(qty)平均单价 = 3800 ÷ 600 = 6.33
五、让复杂逻辑“像写代码一样”

例如:目标
-
总收入 = 工资 + 绩效 + 补贴
-
判断收入等级:
条件 等级 ≥15000 高收入 ≥10000 中等 <10000 普通
普通写法:
=IF(B2+C2+D2>=15000,”高收入”,
IF(B2+C2+D2>=10000,”中等”,”普通”))
LET 写法:
=LET(
salary,B2,
bonus,C2,
allowance,D2,
total,salary+bonus+allowance,
IF(total>=15000,”高收入”,
IF(total>=10000,”中等”,”普通”))
)
LET的写法:像在写程序、先定义变量、再用变量计算,清晰明了便于交接和维护
计算结果

六、LET + FILTER(高级玩法)

例如筛选上海数据:
=LET(data,A:C,city,B:B,FILTER(data,city="上海"))
这种写法在复杂报表里非常好用。
其实在我们之前有一天filter文章中,直接用filter也能实现:=FILTER(A2:C6,B2:B6=”上海”),

七、LET + XLOOKUP(提升性能)
很多人写查找:
=XLOOKUP(A2,A:A,B:B) + XLOOKUP(A2,A:A,C:C)
问题:查了两次
LET 优化:
=LET( pos,XLOOKUP(A2,A:A,ROW(A:A)),INDEX(B:B,pos)+INDEX(C:C,pos))
减少重复计算。
夜雨聆风
