打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
什么是LAMBDA?用实例来深入理解
userphoto

2023.03.05 四川

关注
excelperfect

标签:Excel新函数LAMBDA函数
Excel中,使用LAMBDA可以创建自定义或可重复使用的函数。例如,下面是一个非常简单的LAMBDA:一个数减去另一个数。
=LAMBDA(x, y, x-y)
要调用这个LAMBDA,可以使用下面的语法:
=LAMBDA(x, y, x-y)(10, 2)
结果是8
下图1是一段简单的LAMBDA基本使用演示。
1
一旦“安装”LAMBDA,其真正的能力就会释放出来。例如,要安装上面的lambda,可以按下列步骤:
1.单击功能区“公式”选项卡“定义的名称”组中的“定义名称”。
2.在弹出的“新建名称”对话框中,输入名称,例如:substract
3.在该对话框“引用位置”中,输入lambda,例如:=LAMBDA(x,y,x-y)
4.单击“确定”。
这样,我们的substract LAMBDA就安装好了。
2
要调用这个lambda,直接在Excel单元格中输入:=substract公式并提供相应的参数,如下图3所示。
3
实例1:计算加权平均
Excel中,没有内置的计算加权平均的函数,我们可以利用LAMBDA来创建自己的计算加权平均的函数WAVERAGE
定义WAVERAGE如下:
=LAMBDA(values, weights, SUMPRODUCT(values, weights)/SUM(weights))
示例数据及公式如下图4所示。
4
实例2:获取前n大的值
如果想按照降序排列获取大小排在前面n个的值,可以使用LAMBDA来实现。
定义名称TOPN如下:
=LAMBDA(values,n,LARGE(values,SEQUENCE(n)))
示例数据及公式如下图5所示,获取单元格区域A1:A10中大小排在前面3位的数值。
5
实例3:明天的日期
Excel有一个可以输入今天日期的函数:TODAY,我们可以使用LAMBDA,定义一个可以输入明天日期的函数。
定义名称TOMORROW如下:
=LAMBDA(TODAY()+1)
这样,在任意单元格中输入:=TOMORROW(),即可得到明天的日期,如下图6所示。
6
实例4:当月的第一个星期一
有时,我们需要编写复杂的日期公式。如果不想每次都输入复杂的公式,那么可以使用LAMBDA
例如,想要获取任意月份的第一个周一的日期。
定义名称FirstMonday如下:
=LAMBDA(anydate,LET(som, DATE(YEAR(anydate),MONTH(anydate),1),CHOOSE(WEEKDAY(som),1,0,6,5,4,3,2)+som))
在单元格中输入:=FirstMonday(“2023-1-1”)获取20231月份的第一个星期一的日期,如下图7所示。
7
LAMBDA的“辅助”函数
除了LAMBDAMicrosoft还引入了一系列辅助函数,可以在Excel中真正构建任何类型的LAMBDA
1.MAP:将LAMBDA映射(或应用)到一系列值并返回一系列输出。
2.REDUCE:获取一组值(或lambda输出)并将其缩减为单个值。
3.SCAN:返回对数组应用lambda的中间结果一次一步。
4.MAKEARRAY:通过应用lambda提供一个特定大小的数组。
5.BYCOL:将lambda函数应用于单元格区域,一次一列,并返回一行输出。
6.BYROW:与BYCOL相反。
注:本文学习整理自chandoo.org,供有兴趣的朋友参考。示例工作簿可以前往知识星球App完美Excel社群下载。
欢迎在下面留言,完善本文内容,让更多的人学到更完美的知识。
欢迎到知识星球:完美Excel社群,进行技术交流和提问,获取更多电子资料,并通过社群加入专门的微信讨论群,更方便交流。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
Python 函数和类
LAMBDA应用示例:拆分文本为数组
原来Excel表中单元格的引用是这么回事你会吗
终于可以给自定义函数添加说明了 - Excel AFE:高级公式环境的新特性!
微软:Excel 正成为开发者的终极武器
新函数LAMBDA的用法及递归计算实现
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服