486·谁是LAMBDA的变量?
标签:
lambdalet定义名称变量 |
分类: 公式技巧 |
M365和最新版WPS表格都争先恐后地增加了一个新函数LAMBDA。
据说该函数神奇的不行,
可以在公式中创建一个新“函数”。
过去,这样的事儿,只有VBA才能完成。
官方给了两个例子,
一个是两个单元格相乘。
比如,A列是单价,B列是数量,如果求C列金额。
公式=A2*B2,下拉就行了。
这个公式在下拉的过程中,有两个参数一直在变。
一个是A列的单元格,另一个就是B列的单元格。
如果换成LAMBDA函数,这两个变化的参数,
就可以成为LAMBDA函数的两个变量。
X,Y是LAMBDA函数里自定义的两个变量名。
X*Y是LAMBDA函数里的计算,这里当然可以用其他函数实现更为复杂的计算。
甚至于还可以利用【定义名称】或LET函数给这个计算赋一个“函数名”。
比如,叫“总价”。
最后的“(A2,B2)”或者“,总价(A2,B2)”就是给X,Y赋值了。
注意直接赋值,LAMBDA后面不要加逗号,有函数名,就要加个逗号了。
总价,就成为一个自定义的新函数。
另一个例子是,递归计算。
比如,用LET函数定义一个名称叫“递归”。
“递归”就量个篮子,篮子里放什么呢?
就放LAMBDA。
LAMBDA也定义了一个变量X,这个X就放在了“递归”篮子里。
变量一直在变,下一个就变成了X-1,篮子里就应该变成了X-1,
但是篮子里原来有一个X,它没走(X+递归……),所以篮子里应该是X+(X-1)。
再下一个应该就是X+(X-1)+(X-2),直到X变成了1(IF(X=1,X,……))
“递归”就成为一个新函数。
“递归(A2)”,当A2是100的时候,计算的是1+2+3……100,
当A2是50的时候,计算的就是1+2+3……50。

加载中…