点击蓝字【秋叶 Excel】
发送【礼包】
免费领办公神器、Office 模板和免商字体!
本文作者:赵骄阳
本文编辑:小音、竺兰
Hi,大家好,我是偏爱函数公式,爱用 Excel 图表管理仓库的大叔 Mr 赵~
今天和大家分享的是,Office365新增的一个函数:LAMBDA函数。
这个函数可不简单!
用 LAMBDA 函数,不仅可以编写属于自己的自定义函数,还能在函数中调用自身,也就是大家常说的递归~
下面就来看看它是怎么做的。
比如在 Excel 中,选中任一单元格,输入公式:
=LAMBDA(x,y,x+y)(1,2)
得到的结果是 3。
这个公式是什么意思呢?
在 LAMBDA 函数中,x,y 是我们自己定义的两个变量,如下图;
x+y 是计算的表达式;
公式中最后的(1,2)两个数值分别赋值给 x,y;
即 x=1,y=2,然后把它们代入表达式 x+y 中,结果就是 3。
由此我们引出LAMBDA 函数的语法:
=LAMBDA(变量 1,变量 2,...,计算表达式)
▲ 左右滑动查看
如果还不明白,不要紧!
咱再举个例子:
打小我们就知道,圆的面积公式是:S=πr^2
根据圆的半径求面积,用 LAMBD 函数在 Excel 中写公式就是这个样子的:
在 C3 单元格输入公式:
=LAMBDA(r,PI()*r^2)(B3)
LAMBDA 函数定义了一个变量 r 表示半径;
PI()*r^2 是求面积的表达式,PI()在 Excel 中就是圆周率π,
后面 B3 单元格的值 1,赋值给变量 r=1,然后代入表达式 PI()*r^2 返回结果就是 3.14。
可能有小伙伴会说,直接输入公式:
=PI()*B3^2
岂不更简单?何必多此一举,绕这个弯儿呢。
别着急!
我们试着把这个公式放到名称管理器中:
首先在【名称】中,给函数取一个名字,比如名为「S」,
然后在引用位置,输入这个公式:
=LAMBDA(r,PI()*r^2)
再返回到工作表,输入公式,下拉填充。
=S(B3)
效果如下图:
瞧,一个简单的自定义函数,就此诞生了!
哦~原来我们可以用 LAMBDA 函数,把公式打包到名称管理器,然后就可以在整个工作薄中随时调用这个自定义函数。
前面我们介绍了 LAMBDA 函数的基本用法,为了展示它的强大,再来举个实例:
比如怎么把下面框红的、多行多列的数据,转化成一列。
解决这个问题,只需要一个函数,框选区域就能搞定!
选中任意单元格,输入如下公式:
=Array(A1:F3)
是不是很方便!
它又是怎么做到的呢?
首先点击名称管理器,新建定义一个名称为「Array」。
然后在引用位置输入公式:
=LAMBDA(x,EVALUATE("{"""&TEXTJOIN(""";""",,x)&"""}"))
▲ 左右滑动查看
点击【确定】。
公式解析:
❶ Lambda 定义一个变量为 x,表示需要转化的区域;
❷ Textjoin 函数可以将区域的字符按指定的规则,连接成字符串,TEXTJOIN(""";""",,x)表示将需要转化的区域,以分号连接起来,生成一串字符,然后外面加上一对大括号{};
❸ 用宏表函数 Evaluate 将上面的文本结果转化成一个一维的垂直数组,来作为 Lambda 的第 2 参数返回结果的表达式。
这些复杂的运算就被 LAMBDA 函数打包在名称管理器中,
而我们只需要输入一个简单的自定义函数 ARRAY,就可以了!
递归,就是函数在运算的过程中,调用函数本身。
比如求 1+2+3+......+98+99+100 的和。
在名称管理器中,新建定义一个名称为「CUSUM」。
然后在引用位置输入公式:
=LAMBDA(n,IF(n=1,1,n+CUSUM(n-1)))
瞧!函数「CUSUM」,在定义它的过程中调用了自己,这个就是递归。
返回工作表,在任一单元格输入公式:
=CUSUM(100)
结果就神奇地出现了!如下图 B2 单元格。
自定义函数「CUSUM」不断循环调用自己,直到碰到条件 n=1,才停止调用。从而达到了数值累加的目的:
除此之外,Office365 还推出了一些新函数,专门和 LAMBDA 函数搭配使用。
比如MAKEARRAY函数,就可以和 LAMBDA 函数做九九乘法表。
在任一单元格,比如 B2,输入如下公式:
=MAKEARRAY(9,9,LAMBDA(x,y,IF(x>=y,y&"x"&x&"="&x*y,"")))
▲ 左右滑动查看
然后用条件格式将不为空的单元格加上边框。
效果如下图:
MAKEARRAY 是生成一个 9 行 9 列的序列,通过 LAMBDA 设定的表达式来返回指定行和列大小的数组。
这样,一份充满爱的九九乘法口诀表,就可以当作心爱的礼物,送给亲爱的小神兽了
当然,我所列举的这些用法,还仅仅是 LAMBDA 函数应用的冰山一角,它还有更多功能,等着大家一起发现,一起探讨!
小结一下:
❶ LAMBDA 函数把复杂的运算打包到了名称管理器,然后我们只需要输入自己定义的函数,就可以在表中方便重复使用;
❷ LAMBDA 函数还可以递归,调用本身;
❸ 它还可以和一些新出的函数,如 REDUCE、MAP、SCAN、BYROW、BYCOLUMN、MARKEARRAY 这些函数搭配使用,创造出更多神奇的应用。
如果这篇文章对你有帮助,请帮忙「点赞」「在看」「转发」。
这对我很重要,能给我更多动力,持续分享优质的内容。
秋叶家夏季专享福利——《 Excel3 天集训营》。
专为职场表哥表妹准备,全部基于职场真实案例设计,超实用 Excel 技巧集合教学。
机会通常是留给有准备的人,行动起来!3 天助你搞定表格难题!
《秋叶 Excel 3 天集训营》
早学习,早受益!
原价99
不再被加班支配,充实自我就现在!
报名即送【35 个常用函数说明】
赶紧扫码预约吧!
发送【福利】
免费领 Excel 插件&工具,看精华文章!
遇到有价值的文章
不放过 !
动动小手
分享给朋友~
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.