LET 不只是简化公式,它正在重构 Excel 的“计算架构” | 普通公式管理结果,LET 管理计算过程——让你的 公式像程序一样可维护
- 2026-11-02 11:33:36


内容摘要:
Excel 公式越来越长、难维护?多层 LET 嵌套可以缓存中间结果、组织复杂逻辑、提高公式性能,让计算结构清晰可调试。结合 FILTER、SORT,你不仅能快速筛选高毛利产品,还能生成可复用的结构化结果。掌握 LET,你的 Excel 不再只是“公式工具”,而是小型计算系统,实现“能用、好用、可维护、可复用”。
01|痛点:公式越来越像“意大利面”
很多人学 Excel 到后期会发现:公式越来越长,越来越乱。
“能跑,但看不懂,不敢改,越来越卡!”
例如:
=SUMIFS(...XLOOKUP(FILTER(IF(...))))
公式越长越复杂,尤其是涉及多层计算和条件筛选时。
“公式能跑不等于可维护,高手设计的是计算结构。”
02|LET 的核心价值:缓存 + 架构
LET 不是简单“给变量命名”,而是 缓存计算结果、组织流程、提高性能 避免重复扫描和重复计算 让公式从“一次性表达”升级成“小型计算系统”
03|性能灾难案例:重复扫描
传统公式:
=SORT(UNIQUE(FILTER(A2:A50000,A2:A50000<>"")))
Excel 内部计算流程:
A2:A50000 → FILTER → UNIQUE → SORT
再次引用 FILTER 会 重复扫描,性能低下
优化写法:
=LET( data, A2:A50000, clean, FILTER(data, data<>""), SORT(UNIQUE(clean)))
分步说明: - data:存储原始数据
- clean:存储过滤后的结果
- 最终计算:排序 + 唯一值
“Excel 不再反复扫描同一份数据”
04|高阶实战示例:多层 LET 嵌套
假设你有销售额和成本数据,想找出毛利率超过平均水平 1.2 倍的“高价值产品”,并按毛利率降序排列:
=LET(
_原始数据, '1. 原始数据'!$A$2:$G$3001,
_商品序列, INDEX(_原始数据,,4),
_销售额序列, INDEX(_原始数据,,5),
_成本序列, INDEX(_原始数据,,6),
_核心逻辑层, LET(
_毛利率, IFERROR((_销售额序列 - _成本序列) / _销售额序列, 0),
_平均值, AVERAGE(_毛利率),
_判定阈值, _平均值 * 1.2,
_筛选结果, FILTER(
HSTACK(_商品序列, _毛利率, IF(_毛利率 > _判定阈值, "高价值产品", "普通产品")),
_毛利率 > _判定阈值
),
SORT(_筛选结果, 2, -1)
),
_核心逻辑层
)
分析:
- 第一层 LET
:定义销售额、成本 → 计算毛利、毛利率、平均毛利率 - 第二层 LET
:筛选高毛利产品 → 排序 - 最终输出
:返回优秀产品列表
“LET + LET 嵌套 = 多层逻辑缓存 + 结构化计算”

05|可维护性提升
传统公式
=IF(SUMIFS(...FILTER(...))>0,...)
LET 写法
每个逻辑块命名 中间结果可调试 公式逻辑像小型程序
“不会 LET,你写公式;会 LET,你设计系统。”
06|高手思维 vs 普通人
07|拆模块思维:函数分工 + LET 管理流程
函数分工
- FILTER
→ 取数据 - UNIQUE
→ 生成维度 - SORT
→ 输出顺序 - LET
→ 组织计算流程
流程图示意
“LET 不是功能函数,而是架构函数。”
08|边界思考:什么时候放弃 LET
- 可读性 vs 兼容性
:LET 仅支持 Microsoft 365 / Excel 2021+,老版本会报错 #NAME? - ETL 界限
:当变量超过 5-10 个或跨表复杂 → 建议 Power Query
原则总结
“LET 擅长行内/区域内快速逻辑,Power Query 才是重型数据工厂。”
09|总结:Excel 从“计算器”到“轻量编程环境”
LET 带来的改变: 变量 作用域 计算复用 结构化表达
“普通公式管理结果,LET 管理计算过程。”
为了便于大家直观感受LET应用场景,私信回复「LET」获取Excel示例文件一探究竟。
END

推荐阅读

费用预算怎么做才不失控?一页讲透编制到控费全流程(附模板)




