Lynn.Dou 发表于 2022-1-20 11:17:53

SpreadJS V15.0新特性揭秘 - 公式函数:支持LAMBDA函数

本帖最后由 Lynn.Dou 于 2022-1-20 11:17 编辑

LAMBDA函数是什么:

LAMBDA 允许使用 Excel 自己的公式语言定义自定义函数

语法:
=LAMBDA( calculation)parameter1, parameter2等参数是可选的,表示要传递给函数的值,例如单元格引用、字符串或数字;最多可以输入 253 个参数。
calculation 表示要执行并作为函数结果返回的公式,必须为最后一个参数,且必须返回一个结果。

结合具体的例子来理解下此函数:

1、
直接在单元格中输入公式: =LAMBDA(number,number+1)(1)
如下图,计算结果为2。


在此公式中,number值即为 1,计算结果为” number+1“,即 “1+1”,所以最终结算结果为2。

2、
将上述LAMBDA函数添加到名称管理器,然后在单元格中使用:
spread.addCustomName("PlusOne", "LAMBDA(n, n + 1)", "");
sheet.setFormula(1, 0, 'PlusOne(1)'); // 计算结果为2


3、
结合具体的需求使用LAMBDA函数,比如,我想通过LAMBDA函数将 将华氏度转换为摄氏度。

首先确定华氏度与摄氏度的转换关系:
摄氏度 = (5/9)* (华氏度 - 32)
使用LAMBDA函数进行计算:
=LAMBDA(temp, (5/9) * (Temp-32))将LAMBDA函数添加到名称管理器,并将该函数命名为ToCelsius
spread.addCustomName("ToCelsius", "LAMBDA(temp, (5/9) * (Temp-32))", "");
sheet.setFormula(2, 0, 'ToCelsius(104)'); // 计算结果为40


4、
LAMBDA函数可作为另一个LAMBDA函数的参数。
如下图,将公式 =LAMBDA(a, LAMBDA(b, b+a)) 添加到名称管理器中,并将该函数命名为Plus:spread.addCustomName("Plus", "LAMBDA(a, LAMBDA(b, b+a))", "");
sheet.setFormula(2, 0, 'Plus(2)(3)'); // 计算结果为5


KarenGao 发表于 2022-2-16 10:51:15

页: [1]
查看完整版本: SpreadJS V15.0新特性揭秘 - 公式函数:支持LAMBDA函数