Excel神器LET函数:像编程一样定义变量,复杂公式简化70%!
告别重复计算,让公式清晰如散文
你是否曾面对自己一周前写的Excel公式,却看不懂当时的逻辑?是否由于公式中重复计算同一个值,导致表格卡顿不堪?是否在修改公式时,因同一逻辑散落多处而手忙脚乱?

这一切烦恼,LET函数都能解决。这个Microsoft 365专属函数,将编程思维带入Excel,让你的公式首次具备“变量”概念,堪称函数使用的革命性突破!
一、什么是LET函数?为什么它如此独特?
传统Excel公式就像一句话把所有事情说完,而LET函数则像先定义关键词再组成段落——先定义变量,再进行计算。
基本语法:
=LET(名称1, 值1, [名称2, 值2], ..., 最终计算表达式)
- 名称:自定义的变量名(如“完成率”、“总分”)
- 值:赋给该变量的值或计算公式
- 最终计算表达式:使用已定义变量进行最终计算
最大创新:变量仅在该公式内部有效,不会影响其他单元格,就像为公式创建了私有工作区。
二、实战案例:传统写法VS LET函数写法
案例1:销售完成率评级系统
需求:根据“实际业绩/计划业绩”的完成率评定等级
- 完成率 ≥ 100% → A
- 80% ≤ 完成率 < 100% → B
- 60% ≤ 完成率 < 80% → C
- 完成率 < 60% → D
传统写法:
=IFS(C2/B2>=1,"A",C2/B2>=0.8,"B",C2/B2>=0.6,"C",TRUE,"D")
问题:C2/B2重复计算3次,效率低,难维护。
LET函数优化:
=LET(
完成率, C2/B2,
IFS(完成率>=1, "A", 完成率>=0.8, "B", 完成率>=0.6, "C", TRUE, "D")
)
优势:完成率只计算一次,公式逻辑清晰,修改只需调整一处。
案例2:学生成绩加权计算
需求:语文成绩占90%,数学成绩占80%,计算加权总分
传统写法:=B2*0.9+C2*0.8
LET函数优化:
=LET(
语文加权, B2*0.9,
数学加权, C2*0.8,
语文加权+数学加权
)
优势:权重调整时只需修改一处,公式语义明确。
案例3:数字小写转中文大写(财务专用)
传统写法(冗长难维护):
=TEXT(INT(I9),"[dbnum2]")&"元"&IF(INT(I9*10)-INT(I9)*10=0,"",TEXT(INT(I9*10)-INT(I9)*10,"[dbnum2]")&"角")&IF(INT(I9*100)-INT(I9*10)*10=0,"整",TEXT(INT(I9*100)-INT(I9*10)*10,"[dbnum2]")&"分")
LET函数优化:
=LET(
x, INT(I9),
y, INT(I9*10),
z, INT(I9*100),
t, "[dbnum2]",
TEXT(x,t)&"元"&IF(y-x*10=0,"",TEXT(y-x*10,t)&"角")&IF(z-y*10=0,"整",TEXT(z-y*10,t)&"分")
)
效果:公式从一团乱麻变得条理清晰,极大方便后续检查和修改。
三、LET函数的三大核心优势
1. 可读性大幅提升
通过有意义的变量名(如“完成率”、“加权总分”)取代晦涩的单元格引用和计算,公式自成文档,新手也能快速理解复杂逻辑。
2. 计算效率显著优化
重复计算只执行一次,尤其在使用SUM、VLOOKUP等计算密集型函数时,速度提升明显,大数据处理效率可提高3-5倍。
3. 维护成本急剧降低
业务逻辑变更时,只需修改变量定义一处,无需在冗长公式中寻找所有需要修改的地方。
四、多变量复杂数据处理实战
案例:销售数据综合分析
=LET(
销售额, SUM(B2:B100),
成本, SUM(C2:C100),
利润, 销售额-成本,
利润率, 利润/销售额,
IF(利润率>0.3, "优秀", IF(利润率>0.15, "良好", "需改善"))
)
变量链式调用:后续变量可引用前面已定义的变量(如“利润”引用“销售额”和“成本”),实现分步计算。
五、LET函数结合其他函数的强劲应用
1. 配合FILTER函数实现动态数据筛选
=LET(
data, A1:C100,
filtered_data, FILTER(data, INDEX(data,,3)>100),
AVERAGE(INDEX(filtered_data,,1))
)
2. 配合LAMBDA函数创建自定义函数
LET为LAMBDA打下基础,最终可实现用户自定义函数的强劲功能。
六、使用注意事项与最佳实践
1. 变量命名规范
- 使用有业务意义的名称(如“完成率”而非简单的“x”)
- 名称必须以字母开头,不区分大小写
- 避免与单元格地址重名(如不能命名为“A1”)
2. 版本兼容性
- 仅支持Microsoft 365和Excel 2021及以上版本
- 低版本用户可通过单元格分列或辅助列模拟类似效果
3. 性能优化技巧
- 将重复引用的部分抽象为单独变量
- 公式步骤清晰分开,便于维护和测试
- 多条件统计、数组运算场景下效果最佳
七、行业应用实例
财务部门:自动报表生成
利用LET函数简化复杂的财务报表公式,节省人工核对时间,减少出错率。
人力资源:考核公式透明化
通过变量细化考核公式,使员工评估标准更加清晰透明。
销售分析:动态排行榜
设置变量使销售动态排行榜和业绩对比一目了然,避免重复性工作。
八、从使用LET函数培养变量思维
传统Excel公式像是即时计算,而LET函数引导我们先定义中间结果,再组合完成最终计算。这种“变量思维”是通向高级数据分析的关键一步。
实践提议:下次编写复杂公式时,先思考:
- 这个公式中哪些计算是重复的?
- 如何给中间结果起有意义的名称?
- 最终计算如何通过这些中间结果组合实现?
结语:Excel公式正在编程化
LET函数的出现不是小修补,而是根本性的思维转变。它标志着Excel从简单的计算工具向低代码数据处理平台进化,让普通用户也能用编程思维解决复杂问题。
掌握LET函数,不仅是学一个新功能,更是培养一种结构化、可维护的公式编写习惯,为接下来学习LAMBDA等更强劲的函数打下坚实基础。
立即打开你的Microsoft 365 Excel,找一个最复杂的公式,用LET函数进行重构,体验公式从冗长混乱变得清晰优雅的蜕变吧!
测试题
- 基础概念:假设你要在公式中计算A1:A10区域的总和,然后求该总和的10%。使用LET函数编写这个公式,其中将总和定义为变量“总计”。
- 问题诊断:小明写了一个LET公式=LET(成绩, VLOOKUP(G2,A:B,2,0), IF(成绩>=60, 成绩, “不及格”)),但结果总是错误。可能的缘由是什么?
- 综合应用:假设有一个包含“单价”(B列)和“数量”(C列)的数据表,你需要一个公式判断销售额(单价×数量)是否超过1000元,超过则显示“目标达成”,否则显示“继续努力”。请使用LET函数实现,并定义“销售额”作为中间变量。
答案
- 答案:=LET(总计, SUM(A1:A10), 总计*0.1) 解析:第必定义变量“总计”为A1:A10的和,然后在计算表达式中使用该变量乘以0.1。
- 答案:可能的缘由是VLOOKUP函数未找到G2的值,返回错误值#N/A,导致后续比较失败。或者A:B列的数据格式不匹配,导致查找失败。 解析:应检查G2的值是否在A列中存在,并确保A列和G2的数据类型一致(同为文本或数值)。
- 答案:=LET(销售额, B2*C2, IF(销售额>1000, “目标达成”, “继续努力”)) 解析:先定义“销售额”变量为单价与数量的乘积,然后在IF函数中使用此变量进行判断。
(完)















暂无评论内容