小伙伴们好啊,今天和大家一起来认识LAMBDA函数。
这个函数是Excel 365中的特有函数之一,能够调用自身的计算结果重复进行计算,从而完成一些比较复杂的计算要求。
LAMBDA函数的写法看起来比较简单:
=LAMBDA(定义的参数1,定义的参数2,…执行的计算方式)
加上与之配套使用的几个周边函数,例如BYROW、BYCOL、MAKEARRAY、MAP、SCAN、REDUCE等,让LAMBDA函数的性能变得非常强大。
今天咱们先学习LAMBDA函数的几个基础用法:
1、数值累加
首先创建自定义名称。依次单击【公式】→【新建名称】命令,打开【新建名称】对话框,新建名称“累加求和”,在【引用位置】编辑框中输入以下公式:
=LAMBDA(n,IF(n=1,1,n+累加求和(n-1)))
任意单元格输入以下公式,即可计算出从1到100的累加结果:
自定义函数“累加求和”不断循环调用自身结果,直到条件n=1时停止调用。其计算过程为:
=累加求和(100)
=100+累加求和(100-1)
=100+99+累加求和(99-1)
……
=100+99+98+……+3+2+累加求和(2-1)
=100+99+98+……+3+2+1
2、计算最好成绩
如下图所示,是德州亚运会部分铅球选手的成绩表。使用以下公式能够计算出每个人的最好成绩,并返回动态数组结果。
=BYROW(B2:F8,LAMBDA(x,MAX(x)))
BYROW函数指定对B2:F8单元格区域逐行执行运算,LAMBDA函数的第1参数将每行数据设置为变量x,然后使用MAX函数计算每一行数据的最大值,最终返回内存数组。
3、多重替换
如下图所示,是一些业务员和负责厂家的信息表。其中B列的厂家信息填写不规范,使用了很多简称。希望根据E2:F8单元格区域中的对照表,将这些简称替换为完整的名称。
首先在【公式】选项卡下新建名称“替换”,使用公式为:
=LAMBDA(text,旧字符,新字符,IF(旧字符=””,text,替换(SUBSTITUTE(text,旧字符,新字符),OFFSET(旧字符,1,),OFFSET(新字符,1,))))
C2单元格输入以下公式下拉即可。
=替换(B2,E$2,F$2)
在自定义名称的公式中,为LAMBDA函数指定了三个变量,分别是“text”、“旧字符”和“新字符”。其中“text”表示要进行替换的字符串。
公式先使用SUBSTITUTE函数将“text”中的“旧字符”替换为“新字符”,然后再调用自身的结果继续执行替换。
OFFSET(旧字符,1,)部分和OFFSET(新字符,1,)部分,分别用于指定继续替换的旧字符和新字符,也就是每执行一次替换,替换内容就从上次替换的位置向下偏移一个单元格。
当旧字符为空文本时,表示全部替换完毕,LAMBDA函数停止递归调用,返回多重替换后的字符串。
好了,今天的内容就是这些,祝各位小伙伴一天好心情~~
|
|
打开微信扫一扫,Office自学网
专注分享软件安装和视频教程,让你一号在手,办公无忧!