Excel情报局
职场联盟Excel
大家好,今天我们来学习一个案例,并通过这个案例认识LAMBDA函数,因为小编也是第一次使用到LAMBDA函数,以前可能是没时间或是认为它比较另类、比较难理解,所以没去触碰。其实并不是这样的,当你认真去网上搜索并理解其基本概念后,并通过一些具体的小例子去学习,会发现它有多么的易学、功能多么的强大,对实际职场工作是有很大帮助的。
如下图所示:
我们有A~C列三列数据,每列数据都是由一些数值构成的,我们想要将三列数据中各列数据的最大值提取并计算到它们的和,即每列的最大值的汇总和。
在Excel中,LAMBDA函数是一个自定义函数,允许小伙伴们根据自己的需要创建一个特定的函数并使用。LAMBDA函数不仅可以编写属于我们的自定义函数,还能在函数中调用自身,也就是大家常说的递归。这个函数在Excel365版本和当前的WPS最高版本中均可用。
函数基础结构:
=LAMBDA(参数, 计算)
参数:要传递给函数的值,例如单元格引用、字符串或数字。最多可以输入 253 个参数。此参数可选。
计算:要作为函数结果执行并返回的公式。其必须为最后一个参数,且必须返回结果。此参数是必需项。
以上公式仅仅是定义了参数和计算,2个参数并没有实际的值,所以输入到单元格中并不会返回具体的结果。
假设我们对两个参数进行赋值:X=1,Y=3,这里的(1,3)依次传递给X和Y,然后用它们执行计算1+3,返回结果4。(基本原理的理解)
综上所述,首先我们在E2单元格输入LAMBDA函数:
=LAMBDA(X,MAX(X))
赋予LAMBDA函数第一参数X,然后用MAX最大值函数获取参数X的最大值。
解决这个问题不能仅仅依靠LAMBDA函数,还要用到它的一些兄弟函数,几个常用的函数概念及功能整理如下:
BYCOL函数也可以理解为遍历每一列。
函数基础结构:
=BYCOL(array, formula)
array:必须是一个数组或范围,BYCOL函数会对这个数组的每一列进行操作。
formula:LAMBDA函数,定义了对每一列进行的操作。
我们继续对E2单元格的函数公式进行完善:
=BYCOL(A2:C5,LAMBDA(X,MAX(X)))
BYCOL函数与LAMBDA函数配合使用,通过LAMBDA函数定义对每一列的操作逻辑,将定义好的LAMBDA函数作为参数传递给BYCOL函数,BYCOL函数会返回一个新的数组,其中包含了对原始数组每一列应用LAMBDA函数后的结果。
LAMBDA函数提取参数X的最大值,再利用BYCOL对A2:C5区域内的每列遍历执行LAMBDA函数提取最大值的重复操作,即提取每列的最大值。得到新的数组溢出结果:
{8,11,9}
最后用SUM函数:
=SUM(BYCOL(A2:C5,LAMBDA(X,MAX(X))))
最后用MAX函数计算出X的每列全部的最大值,即对每列的最大值结果{8,11,9}求和,得到求和结果28。
回顾关键内容,善用图片表达,学会建立联系,拓展深度广度,浓缩关键概念,应用到行动中,善于归纳总结,尝试进行分享。
〖往期知识点精彩链接点击阅读〗