找回密码
 立即注册

QQ登录

只需一步,快速开始

Lynn.Dou 讲师达人认证 悬赏达人认证 SpreadJS 开发认证
超级版主   /  发表于:2022-1-20 11:17  /   查看:1743  /  回复:1
本帖最后由 Lynn.Dou 于 2022-1-20 11:17 编辑

LAMBDA函数是什么:

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

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

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

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

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

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

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

首先确定华氏度与摄氏度的转换关系:
  1. 摄氏度 = (5/9)* (华氏度 - 32)
复制代码

使用LAMBDA函数进行计算:
  1. =LAMBDA(temp, (5/9) * (Temp-32))
复制代码
将LAMBDA函数添加到名称管理器,并将该函数命名为ToCelsius
  1. spread.addCustomName("ToCelsius", "LAMBDA(temp, (5/9) * (Temp-32))", "");
  2. sheet.setFormula(2, 0, 'ToCelsius(104)'); // 计算结果为40
复制代码
image.png52085875.png
image.png274539794.png

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

image.png222876586.png
image.png993746032.png

评分

参与人数 1满意度 +5 收起 理由
bakefish + 5

查看全部评分

1 个回复

倒序浏览
KarenGao
超级版主   /  发表于:2022-2-16 10:51:15
沙发
1.png332336119.png
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部