WPS表格中LAMBDA函数代替繁琐重复的IF多层嵌套

LAMBDA函数在wps中扮演着自定义函数的角色,它赋予了用户创造自己函数的能力,且规则可由个人自行设定,它不仅具有封装复杂逻辑、提高代码可读性的显著优点,还支持一次定义、全局复用,使得递归计算成为可能。

我们有这样一个案例,按照不同的销售额进行等级评价。

例如销售额在小于5000的情况下,评级等级自动输出为“差”;销售额在大于或等于5000小于或等于10000的情况下,评级等级自动输出为“中”;销售额在大于10000的情况下,评级等级自动输出为“优”。

我们解决这样的问题,一般使用的是多层IF函数嵌套条件判断:

=IF(A2<5000,"差",IF(A2<=10000,"中",IF(A2>10000,"优")))

我们看到分三层:

  • 第一层IF,如果A2<5000时,返回"差";
  • 第二层IF,如果A2<=10000,返回"中";
  • 第三层IF,如果A2>10000,返回"优"。

像上面那样输入多层IF函数嵌套条件判断的话,有这样一个弊端,就是不同区域要想再次输入这样规则要求的IF函数时,需要重复录入(或复制粘贴并修改参数),本来IF函数条件如果多的话,公式就会很长,重复录入无形之中浪费了我们大量的时间。

比如F列我们又要重复输入一次相同规则要求的IF函数:

=IF(E2<5000,"差",IF(E2<=10000,"中",IF(E2>10000,"优")))

比如J列我们又要重复输入一次相同规则要求的IF函数:

=IF(I2<5000,"差",IF(I2<=10000,"中",IF(I2>10000,"优")))

.......

以此类推,有多少个区域,我们就要重复IF多层嵌套函数N次。

那么我们能不能像下面这样输入相同的简短的公式:

=评级

都会生成如同IF函数那样的相同的多层嵌套条件判断。

答案当然是可以的。

在Excel中LAMBDA函数是一个自定义高级函数,允许小伙伴们根据自己的需要创建一个特定的函数并重复使用,而无需编写复杂的嵌套公式或VBA代码,可以将复杂的计算逻辑封装成一个自定义函数,简化公式的编写和维护。LAMBDA函数不仅可以编写属于我们的自定义函数,还能在函数中调用自身,也就是大家常说的递归。这个函数在Excel365版本和当前的WPS最高版本中均可用。

函数基础结构:

=LAMBDA(参数, 计算)

  • 参数:要传递给函数的值,例如单元格引用、字符串或数字。最多可以输入 253 个参数。此参数可选。
  • 计算:要作为函数结果执行并返回的公式。其必须为最后一个参数,且必须返回结果。此参数是必需项。

以上公式仅仅是定义了参数和计算,2个参数并没有实际的值,所以输入到单元格中并不会返回具体的结果。

假设我们对两个参数进行赋值:X=1,Y=3,这里的(1,3)依次传递给X和Y,然后用它们执行计算1+3,返回结果4。(基本原理的理解)

我们打开[公式-名称管理器-新建名称]

在[新建名称]对话框中,输入自定义名称:评级

范围可以默认:工作簿或工作表(表示作用范围)

引用位置输入:

=LAMBDA(x,IF(x<5000,"差",IF(x<=10000,"中",IF(x>10000,"优"))))

即我们用LAMBDA自定义一个变量:销售变量x。然后让这个销售变量x执行我们上面步骤中IF多层嵌套函数的规则要求。

规则要求:

销售额在小于5000的情况下,评级等级自动输出为“差”;销售额在大于或等于5000小于或等于10000的情况下,评级等级自动输出为“中”;销售额在大于10000的情况下,评级等级自动输出为“优”。

那么这样我们以后就可以通过这个自定义的名称“评级”,来作为一个函数,实现IF函数的效果了。

LAMBDA优势:

  • 简化复杂公式:将多层嵌套的IF函数封装成单一函数。
  • 提高可读性:通过命名函数(如“评级”)替代冗长公式。
  • 便于维护:修改函数定义即可全局更新所有调用位置。

声明:本文来自互联网或用户投稿,该文观点仅代表作者本人,不代表本站立场。文章及其配图仅供学习和交流之用,版权归原作者所有,如有内容侵权或者其他违规问题,请联系本站处理。