如果你的工作中,某一个公式经常需要用到,但是它又臭又长,你根本不想再写第2次,怎么办呢?根据你的身份不同,你有两种选择:程序员:把这个功能用VBA写代码编写一个自定义函数lambda用于创建自定义的、可重复使用的函数,无需 VBA 编程。适用于将复杂的计算逻辑封装成一个简单的函数名,方便多次调用。
=lambda(参数1, 参数2, ... , 参数n, 计算方法)
参数1...参数n可以根据需要指定,最多253个。这些参数最终是要参与"计算方法"的运算的。比如:计算圆的面积,我们需要知道半径,所以实现此函数,我们只需要1个参数"半径"即可。=lambda(半径, pi() * 半径 * 半径)
再比如:计算长方形的面积,我们需要知道长和宽,那就需要“长”和“宽”这2个参数。总之,使用lambda的第1步,一定要搞清楚你的这项运算有几个量(参数)是需要额外提供的?这样就决定了参数的个数。同时也要注意,lambda的最后一个参数一定是一个运算式(即计算方法)。如果你在Excel的单元格直接使用lambda函数,你将得到下面这样的提示:要如何正确使用呢?方法有多种,但我们今天只讲一种最常用的,定义名称法。(下面以根据姓名和性别计算称呼为例)男的在名称后面加“先生”,女的在名字后加“女士”。因为称呼是需要根据姓名和性别两个量来计算的,所以lambda中需要2个参数,我们分别起名为"姓名"和"性别"。(在lambda中,参数可以用中文,这样就更加增强了可读性)最后一个参数“计算方法”为一个if函数,若性别="男",则结果为姓名+先生,否则为姓名+女士(也可以简化为姓名+先生或女士)。=lambda(姓名, 性别, 姓名&if(性别="男", "先生", "女士"))
定义名称的目的就是为了使用前面的lambda函数,点“公式-->定义名称-->输入名称(这里定义为"称呼")-->在引用位置输入lambda函数”。接下来可以像使用普通函数一样去使用刚刚定义的lambda函数(函数就叫做“称呼”),如上输入就会提示要你指定两个参数,一个是姓名,一个是性别,分别用A2和B2表示它们即可。得如下公式:这样一来,每次需要用到这个功能时,不用再去输入复杂且冗长的公式了,使用“称呼(姓名, 性别)”这个函数轻松解决了,而且还更容易读懂它。任务目标:根据销售额计算阶梯奖金
公司奖金规则:
销售额 ≤ 10000 → 奖金 = 销售额 × 5%
10000 < 销售额 ≤ 20000 → 奖金 = 500 + (销售额-10000)×10%
销售额 > 20000 → 奖金 = 1500 + (销售额-20000)×15%
如果业务中频繁计算此奖金,可以创建一个 LAMBDA 函数 “奖金”。
奖金是根据“销售额”来计算的,所以参数只有“销售额”根据需求,很明显用IFS能轻松解决这个计算方法:销售额*比例=lambda(销售额, 销售额 * ifs( 销售额<=10000, 0.05, 销售额<=20000, 0.1, 销售额>20000, 0.15) )
如果你能把你的工作中常用但又复杂的公式,一步步的定义为这样的lambda函数,你的工作效率将会被极大的提升。提示:如果您的lambda在定义非常复杂而且很长,建议在一个文本编辑器(如记事本)中先写好代码,后面再复制到定义名称时的“引用位置”文本框中,这样可以减少出错的概率。我后面还会介绍lambda和其它函数的结合使用方法,这样更能提升我们的工作效率,欢迎持续关注我。最后祝您工作顺利、开心!