最近有很多朋友问孙诚珈关于evaluate函数怎么使用,evaluate用法及搭配的事情,以及函数,名称,定义等等相关的各种干货,整理总结之后,我就想着写这篇文章和大家分享一下,因为毕竟新手朋友还是很多的!
新函数LAMBDA的用法及递归计算实现
Excel出了很多新函数,其中LET、LAMBDA函数使得Excel更加靠近编程语言,我们上一篇简单介绍了LET函数,这一篇我们来看看LAMBDA函数。
编程语言与Excel最大的区别在于,编程语言除了有丰富的函数之外,还可以根据需要自定函数,LAMBDA函数就给Excel带来了自定义函数这个功能。
其实在Excel中自定义函数,可以通过VBA编写,然后以加载项的方式,加载自定义函数,也可以通过名称管理器的方式定义一个名称,然后引用。
最常用的就是宏表函数EVALUATE,大家还有没有印象:
相当于我们定义了一个内置参数的函数ev,把前面单元格中的字符串当作算式计算结果。
今天我们这个LAMBDA函数也有这种用法,我们先从最简单的单元格中直接使用说起:
单元格中使用LAMBDA函数
LAMBDA函数有n个参数构成,看下面的例子:
我们定义了一个函数,参数是x,计算公式是SUM(x),然后我们在结尾输入B2:B11来调用这个函数,得到运行结果。
在LET函数中使用LAMBDA函数
上一篇我们学习了LET函数,知道LET函数能够定义名称:
我们在LET中:
- 定义参数名称 a : a=B2:B11
- 定义函数名称b:b=LAMBDA(x,SUM(x))
- 然后在LET最后调用这个函数b(a)获得计算结果。
在名称管理器中使用LAMBDA函数
我们在名称管理器中添加一个名称ss:
然后我们在单元格中直接调用这个函数,ss(B2:B11)获得计算结果。
以上就是LAMBDA函数的三种基本用法,下面我们再来看看:
LAMBDA函数的递归计算
递归计算,就是我们在函数中调用函数本身的这种计算:
我们用Power Query来做一个示例:
我们知道Power Query中递归调用使用的是@fx,我们定义的这个递归函数,是计算比x到n的和。
递归函数需要一个终止条件,否则会出错,上面这个函数的终止条件就是n=1,大家可以看到函数调用的规律是,x+1,n-1,所以每调用一次,n值就会减掉1,一直减到1结束函数调用,递归函数的本体其实是else后面的部分,就是x+(x+1)
n=10,1+2
n=9,1+2+3
n=8,1+2+3+4
. . . . . .
n=1,1+2+3+…+10
上面就是这个递归函数的计算过程。
那么我们在Excel中如果用LAMBDA函数来实现这个过程呢?
同样的需要在名称管理器中定义递归函数,然后调用这个函数计算:
公式的内容与Power Query中是一样的,只不过语法有点区别。
这个递归公式只能在名称管理中使用,LET函数中会显示名称错误:
好了,以上就是新函数LAMBDA的简单用法。
以上就是这篇文章的全部内容了,希望对你有帮助,当你认真看完了evaluate函数怎么使用「evaluate用法及搭配」这篇文章,感觉自己有一定收获,那就帮忙点个赞吧。
本文发布者:万事通,不代表寂寞网立场,转载请注明出处:https://www.jimowang.com/p/21819.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 jimowangmail@126.com 举报,一经查实,本站将立刻删除。