|
|
使用LAMBDA 函数创建可重用的自定义函数,并使用易记名称调用它们。 新函数在整个工作簿中可用,其调用类似内置函数。
可以为常用公式创建函数,无需复制并粘贴此公式(可能容易出错),并有效地将自己的函数添加到内置函数库中。 此外,LAMBDA 函数无需
VBA、宏或 JavaScript,因此非程序员也可以从使用中获益。

语法
LAMBDA([parameter1, parameter2, …,] calculation)
| 公式 | 说明 |
| parameter | 要传递给函数的值,例如单元格引用、字符串或数字。 最多可以输入 253 个参数。 此参数可选。 |
| calculation | 要作为函数结果执行并返回的公式。 其必须为最后一个参数,且必须返回结果。 此参数是必需项。 |
备注
错误
创建 LAMBDA 函数
以下为要遵循的分步流程,有助于确保 Lambda 按预期工作,且与内置函数的行为非常相似。
步骤1:测试公式
确保在 计算 参数中使用的公式正常工作。 这一点至关重要,因为在创建 LAMBDA 函数时,你希望确保公式正常工作,且可以在遇到错误或意外行为时排除这种情况。
步骤2:在单元格中创建Lambda
一个好的做法是在单元格中创建并测试 LAMBDA 函数,从而确保其正常工作,包括参数的定义和传递。 若要避免 #CALC! 错误,请添加对 LAMBDA 函数的调用以立即返回结果:
=LAMBDA function ([parameter1, parameter2, ...],calculation) (function call)
以下示例返回值 2。
=LAMBDA(number, number + 1)(1)
步骤3:将Lambda添加到名称管理器
完成 LAMBDA 函数后,将其移动到名称管理器以获取最终定义。 通过执行此操作,可以为 LAMBDA 函数指定有意义的名称、提供说明,并使其可从工作簿中的任何单元格重新使用,
还可以像管理任何名称一样管理 LAMBDA 函数,例如字符串常量、单元格区域或表。
过程
| 名称 | 输入 LAMBDA 函数的名称。 |
| 作用域 | 默认为工作簿。 也可以使用单个工作表。 |
| 注释 | 可选,但强烈建议使用。 最多输入 255 个字符。 简要描述函数用途以及正确的参数数目和类型。 当键入公式并使用“公式自动完成”(也称为 Intellisense)时,显示在“插入函数”对话框中,并用作工具提示(和“计算”参数 一起)。 |
| 引用 | 输入LAMBDA函数。 |

示例
| 名称 | Hypotenuse |
| 作用域 | 工作簿 |
| 注释 | 返回直角三角形斜边的长 |
| 引用 | =LAMBDA(a, b, SQRT(a^2+b^2)) |
| 数据 | |
| 3 | 4 |
| 5 | 12 |
| 7 | 24 |
| 9 | 40 |
| 公式 | 结果 |
| =Hypotenuse(A2,B2) | 5 |
| =Hypotenuse(A3,B3) | 13 |
| =Hypotenuse(A4,B4) | 25 |
| =Hypotenuse(A5,B5) | 40 |
| 名称 | RectArea |
| 作用域 | 工作簿 |
| 注释 | 返回矩形面积,若为正方形,可以只提供一条边长 |
| 引用 | =LAMBDA(a, [b], IF(b = 0,a * a, a * b)) |
| 数据 | |
| 3 | 4 |
| 5 | 8 |
| 7 | |
| 9 | 9 |
| 公式 | 结果 |
| =RectArea(A2,B2) | 12 |
| =RectArea(A3,B3) | 40 |
| =RectArea(A4) | 49 |
| =RectArea(A5,B5) | 81 |
| 名称 | Fibonacci |
| 作用域 | 工作簿 |
| 注释 | 求斐波那契数列 |
| 引用 | =LAMBDA(x, IF(x < 3, 1, Fibonacci(x - 1) +Fibonacci(x - 2))) |
| 数据 | |
| 3 | |
| 5 | |
| 7 | |
| 9 | |
| 公式 | 结果 |
| =Fibonacci(A2) | 2 |
| =Fibonacci(A3) | 5 |
| =Fibonacci(A4) | 13 |
| =Fibonacci(A5) | 34 |
相关功能