LAMBDA 函数¶
函数概述¶
LAMBDA 是 Excel 动态数组体系中的“自定义函数”工具。它允许你在不写 VBA 的情况下,把一段公式封装成可复用的函数,并且:
- 能接收参数、返回结果(像内置函数一样使用)
- 可以与
LET配合让公式更清晰、更易维护 - 可以通过“名称管理器”把它注册成工作簿级函数
- 支持递归(配合合适的写法可实现循环类逻辑)
适用场景包括:重复出现的长公式、复杂计算逻辑封装、团队共享统一口径的计算规则等。
基础语法¶
常见搭配写法:
-
直接在单元格中定义并立刻调用(临时使用)
-
与名称管理器配合(长期复用) 在“公式 → 名称管理器”中新建名称(如:
平方),引用位置填:然后在单元格中像函数一样用:
参数说明¶
| 项目 | 是否必填 | 说明 | 示例 |
|---|---|---|---|
| 参数1…参数N | 否(可为0个) | 自定义输入变量,名称可自取(建议见名知意) | x,a,text,arr |
| 计算表达式 | 是 | 函数主体,必须是一个能返回结果的表达式 | x^2、SUM(arr) |
补充规则(理解即可):
- 参数名需符合 Excel 名称规则(不要用空格、不要以数字开头等)
LAMBDA最后一个参数一定是计算表达式;前面都是参数列表- 可返回任意结果:数字、文本、逻辑值、数组、错误等
基础用法示范¶
示例1:一参公式封装¶
需求:把“含税价 = 不含税价 × (1+税率)”封装成函数。
临时写法(定义后立刻调用):
注册成名称(名称管理器建:含税价):
使用:
示例2:让长公式变短¶
需求:计算“(销售额-成本)/销售额”,并避免除以0。
直接写可能很长:
用 LAMBDA 封装(名称:毛利率):
使用:
示例3:配合LET提升可读性¶
需求:计算“订单金额=数量×单价×(1-折扣)”,且折扣可能为空。
名称:订单额
使用:
示例4:处理数组输入¶
需求:对一列数字做“去负值”(负数变0),并返回整列结果。
名称:去负值
使用(arr 可为区域):
这会返回溢出数组结果,自动填充。
示例5:递归实现累加到N¶
需求:返回 1+2+…+n。
名称:累加到N
使用:
说明:递归依赖“名称管理器中的函数名”来调用自己,所以这类写法通常需要先注册名称再使用。
总结¶
LAMBDA的核心价值是:把公式变成可复用的自定义函数,减少重复、统一口径、提升可维护性。- 基本结构是“参数列表 + 计算表达式”,可在单元格中临时定义调用,也可在名称管理器中注册为函数名。
- 与
LET配合可显著提升复杂逻辑的可读性;对数组友好,适合动态数组场景。 - 需要重复使用、多人协作或公式越来越长时,把逻辑封装成
LAMBDA往往是最省心的做法。