分享

【LAMBDA函数】365新函数LAMBDA到底有多强?

 刘卓学EXCEL 2022-02-08

你好,我是刘卓。欢迎来到我的公号,excel函数解析。好久未更新了,大家都还好吗?年假也快过完了,祝大家开工大吉!

过年在家几天,学了下Office 365体验版新增的几个函数。今天先来分享下LAMBDA函数的基本用法。LAMBDA函数有2个重要的功能。第1个功能是可以自定义函数,第2个功能是可以支持【递归】,即函数调用自身。
-01-

LAMBDA函数


使用LAMBDA函数创建自定义的可重用函数,并按友好名称调用它们。新函数可在整个工作簿中使用,就像本机函数Excel一样。语法如下:

=LAMBDA ([参数1, 参数2, ...,] ,计算)

参数1,参数2……是LAMBDA函数的形式参数,可以是字母或汉字。

计算是LAMBDA函数的最后一个参数,是对参数1,参数2……执行的计算,最后要返一个结果作为函数值。

下图是LAMBDA函数的图解。其中x,y是2个参数,x+y是对2个参数执行的计算。当2个参数输入的值是1,3时,返回的结果为4。

大家如果不清楚,可以参考官方的说明。https://support.microsoft.com/zh-cn/office/lambda-%e5%87%bd%e6%95%b0-bd212d27-1cd1-4321-a34a-ccbf254b8b67?ns=excel&version=90&syslcid=2052&uilcid=2052&appver=zxl900&helpid=xlmain11.chm60688&ui=zh-cn&rs=zh-cn&ad=cn

-02-

用法说明

在使用LAMBDA函数时,一般要使用定义名称,就是把LAMBDA函数创建的函数定义一个名称,作为自定义函数(新函数)进行调用。

但在定义名称前,先要测试创建的LAMBDA函数是否正常运行。

1.在单元格中创建LAMBDA函数,并测试是否正常运行。

下图中,用LAMBDA函数创建了带有一个参数的函数,执行的计算就是用这个参数加1。但是返回的结果是#calc!的错误。原因是没有给这个参数传递实际的值。

正确的写法是下面这样的:在LAMBDA函数的后面加一对括号,里面输入5。这个5就是传递到x中的实际数值。最后的结果就是5+1=6。

其中,x是形式参数,5是实际参数。x+1是对参数执行的计算,并且返回函数最后的结果。

2.将LAMBDA函数创建好的自定义函数添加到名称管理器中
测试好LAMBDA函数可以正常运行后,就可以定义名称了。按下图步骤,定义名称。在引用位置输入LAMBDA函数,不要包含实参。

3.在工作簿中调用自定义函数

调用刚才定义好的f函数,输入=f(10),返回的结果为11。相当于用LAMBDA函数定义了f函数:f(x)=x+1。这是最简单的一个自定义函数。

当然也可以定义其他函数,比如勾股定理。在计算参数中,可以使用EXCEL内置的函数进行计算。

-03-
递归:函数调用自身

LAMBDA函数的强大之处在于可以使用递归,实现编程(循环)的效果。当然,递归我现在还不理解,只能举两个简单的例子。
1.创建阶乘函数

下图用LAMBDA函数定义了一个myfact函数,可以看到在myfact函数中,调用了它本身,就形成了递归。

递归有2个要点:第一是递归关系,第二是递归出口。

2.创建最大公约数函数

最大公约数是用【辗转相除法】计算得到的。mygcd是用LAMBDA函数创建的自定义函数,在mygcd中调用了自身,形成了递归。

由于我对LAMBDA函数也是刚接触,还没有具体应用,所以今天的分享先到这里,改天找几个实例再来分享。

文件链接:

https://pan.baidu.com/s/1Uodo1bf7fMTQVif5zExk5Q

提取码:a6cz
想学函数的同学,可以购买我的《函数基础课程》,不要答疑只需39元,要答疑99元。

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多