您可以使用一组名称和一个使用这些名称的 formula_expression
来创建和返回自定义函数。如要计算 formula_expression
,您可以使用 name
声明的任意数量的值来调用返回的函数。
使用示例
LAMBDA(Salary, Salary*0.3)(1000)
LAMBDA(Temp, (5/9)*(Temp-32))(85)
语法
LAMBDA(name, formula_expression)
name
:要在formula_expression
中使用的名称。此名称必须是标识符,并且会解析为实际值,然后传递给由LAMBDA
返回的自定义函数。formula_expression
:要计算的公式,可使用在先前的参数中声明的名称。
注意事项
- 如果命名函数要使用另一个函数作为命名函数内参数的输入值,则可以使用
LAMBDA
或命名函数。
示例
示例数据:
单独使用 LAMBDA
您可以编写 LAMBDA
函数来计算工资税,假设税率为 30%。在该函数后输入工资值。
示例:=LAMBDA(salary, salary*0.3)(C5)
此操作会计算第 1 个月的税费。
在 LAMBDA 辅助函数中使用 LAMBDA
如要执行高级数组运算,请在 LAMBDA 辅助函数
(LHF) 中使用 LAMBDA
函数。
示例:=MAP(C5:C10, LAMBDA(salary, salary*0.3))
此操作会对 C5:C10 数组中的每一项执行 salary * 0.3 的计算。
在命名函数中使用 LAMBDA
您可以将 LAMBDA
函数用作命名函数中参数的一部分。详细了解命名函数。
命名函数:AVG_MONTHLY_TAX(range, tax_calculator_function)
公式定义:=tax_calculator_function(sum(range))/count(range)
您可以使用 LAMBDA
函数编写 tax_calculator_function
参数。
示例:=AVG_MONTHLY_TAX(C5:C10,LAMBDA(range, range*0.3))
此操作将计算第 1-6 个月的平均每月税费。
常见错误
名称参数不是标识符
示例:=LAMBDA(3, x+1)(3)
如果第一个参数不是标识符,就会出现以下错误:
标识符要求:
- 不能是范围,例如“A1”或“A2”。
- 不得包含空格或特殊字符。允许使用点和下划线。
- 不能以数字开头,例如“9hello”。
没有调用 LAMBDA
出现此错误是因为没有在 LAMBDA
后面加上包含值的调用。
示例:=LAMBDA(salary, salary*0.3)
如果没有为 salary
传递任何值,则会出现以下错误:
对于用作命名函数中参数的 LAMBDA
,此错误表示没有调用在命名函数定义中使用所需值引用该 LAMBDA
的占位符。
示例:在公式定义下,如果您输入 =tax_calculator_function/count(range)
而非 =tax_calculator_function(sum(range))/count(range)
,就会出现以下错误:
提示:对于 LAMBDA 辅助函数
中的 LAMBDA
,此错误不会出现,因为 LAMBDA 辅助函数
会自动在指定输入范围内使用 LAMBDA
。
Lambda 辅助函数
Lambda 辅助函数
(LHF) 是原生函数,接受可重复使用的 LAMBDA
作为参数,同时还接受输入数组。Lambda 辅助函数可针对输入数组中的每个值执行 LAMBDA
中指定的公式,从而帮助执行高级数组运算。可重复使用的 LAMBDA
可作为 LAMBDA
函数或命名函数
进行传递。
Lambda 辅助函数:
- MAP 函数:此函数会将指定数组中的各个值映射为新值。
- REDUCE 函数:此函数会将数组缩减为累计结果。
- BYCOL 函数:此函数会按列对数组进行分组。
- BYROW 函数:此函数按行对数组进行分组。
- SCAN 函数:此函数扫描数组并生成中间值。
- MAKEARRAY 函数:此函数会创建指定维度的计算数组。
相关函数
创建和使用命名函数:可让用户创建和存储自定义函数(类似于LAMBDA
)。