乐于分享
好东西不私藏

用好Excel中的lambda函数,不是程序员也能按程序员的思维完成工作任务

用好Excel中的lambda函数,不是程序员也能按程序员的思维完成工作任务
如果你的工作中,某一个公式经常需要用到,但是它又臭又长,你根本不想再写第2次,怎么办呢?根据你的身份不同,你有两种选择:
程序员:把这个功能用VBA写代码编写一个自定义函数
非程序员:利用lambda函数自定义一个函数
你看,异曲同工了吧?!但是lambda函数需要你的Office版本是2024或365版本才会拥有这个函数。如果想升级你的Office版本到2024的话,可以参考使用Office Tool Plus安装并激活Office 2024专业增强版,一次安装,永久激活,永久使用!
一、lambda是什么?

lambda用于创建自定义的、可重复使用的函数,无需 VBA 编程。适用于将复杂的计算逻辑封装成一个简单的函数名,方便多次调用

它的格式为:
=lambda(参数1, 参数2, ... , 参数n, 计算方法)
参数1...参数n可以根据需要指定,最多253个。这些参数最终是要参与"计算方法"的运算的。
比如:计算圆的面积,我们需要知道半径,所以实现此函数,我们只需要1个参数"半径"即可。
=lambda(半径, pi() * 半径 * 半径)
再比如:计算长方形的面积,我们需要知道长和宽,那就需要“长”和“宽”这2个参数。
=lambda(长, 宽, 长 * 宽)
总之,使用lambda的第1步,一定要搞清楚你的这项运算有几个量(参数)是需要额外提供的?这样就决定了参数的个数。
同时也要注意,lambda的最后一个参数一定是一个运算式(即计算方法)。
二、lambda怎么用?
如果你在Excel的单元格直接使用lambda函数,你将得到下面这样的提示:
要如何正确使用呢?方法有多种,但我们今天只讲一种最常用的,定义名称法。(下面以根据姓名和性别计算称呼为例)
男的在名称后面加“先生”,女的在名字后加“女士”。
1、分析参数个数
因为称呼是需要根据姓名和性别两个量来计算的,所以lambda中需要2个参数,我们分别起名为"姓名"和"性别"。(在lambda中,参数可以用中文,这样就更加增强了可读性)
=lambda(姓名, 性别, 计算方法)
2、分析计算方法
最后一个参数“计算方法”为一个if函数,若性别="男",则结果为姓名+先生,否则为姓名+女士(也可以简化为姓名+先生或女士)。
=lambda(姓名, 性别, 姓名&if(性别="男""先生""女士"))
3、定义名称
定义名称的目的就是为了使用前面的lambda函数,点“公式-->定义名称-->输入名称(这里定义为"称呼")-->在引用位置输入lambda函数”。
4、使用lambda定义的名称(函数)
接下来可以像使用普通函数一样去使用刚刚定义的lambda函数(函数就叫做“称呼”),如上输入
=称呼(
就会提示要你指定两个参数,一个是姓名,一个是性别,分别用A2和B2表示它们即可。得如下公式:
=称呼(A2, B2)
就能得到如下所示的结果。
这样一来,每次需要用到这个功能时,不用再去输入复杂且冗长的公式了,使用“称呼(姓名, 性别)”这个函数轻松解决了,而且还更容易读懂它。
三、实际工作场景应用

任务目标:根据销售额计算阶梯奖金

公司奖金规则:

销售额 ≤ 10000 → 奖金 = 销售额 × 5%

10000 < 销售额 ≤ 20000 → 奖金 = 500 + (销售额-10000)×10%

销售额 > 20000 → 奖金 = 1500 + (销售额-20000)×15%

如果业务中频繁计算此奖金,可以创建一个 LAMBDA 函数 “奖金”。

1、分析参数
奖金是根据“销售额”来计算的,所以参数只有“销售额”
=lambda(销售额, 计算奖金)
2、计算奖金
根据需求,很明显用IFS能轻松解决这个计算方法:销售额*比例
=lambda(销售额, 销售额 * ifs(  销售额<=100000.05,  销售额<=200000.1,  销售额>200000.15) )
如果你对ifs函数不太了解,可以参考只要你数据处理分3种以上的情况,那么请直接使用IFS函数来解决,拒绝复杂的IF嵌套!
3、定义名称为“奖金”
4、使用名称“奖金”
如果你能把你的工作中常用但又复杂的公式,一步步的定义为这样的lambda函数,你的工作效率将会被极大的提升。
提示:如果您的lambda在定义非常复杂而且很长,建议在一个文本编辑器(如记事本)中先写好代码,后面再复制到定义名称时的“引用位置”文本框中,这样可以减少出错的概率。
我后面还会介绍lambda和其它函数的结合使用方法,这样更能提升我们的工作效率,欢迎持续关注我。最后祝您工作顺利、开心!