新函数LAMBDA真强大,居然能自定义函数,快速提高工作效率
今天我们来学习一个非常强大的Excel新函数,让你不用VBA也能自己定义函数。
它可以说是现今版本中最强大的Excel函数,没有之一
Excel甚至还专门为其编写了辅助函数,专门用于辅助它的计算。
这个函数就是LAMBDA,它函数的核心就是递归,今天我们先来了解下它的常规用法,之后再来介绍递归。
一、了解LAMBDA
LAMBDA:创建一个可以用于调用的自定义函数
语法:=LAMBDA([parameter1, parameter2, …,] calculation)
parameter1:定义的第1个参数
parameter2:定义的第2个参数
以此类推,我可以为其定义很多的参数
Calculation:计算的表格式
这函数看起来雨里雾里的,其实只需把它看做自定义函数的工具即可,parameter1到parameter1时我们自定义函数的参数,Calculation是计算的表达式,下面我们来定义2个数字相加的函数,来简单演示下
公式:=LAMBDA(x,y,x+y)(3,2)
参数1:x
参数2:y
表达式:x+y
使用LAMBDA函数一定要记得将参数传入到定义的公式中,如果仅定义函数,而不传入参数,函数就会返回#CALC!的错误值,如上图所示
二、简单用法
利用LAMBDA可以对一些我们常用的计算进行定义,下次遇到类似问题直接使用即可,我们需要进过2步设置,就以计算圆的面积为例,跟大家演示下
1. 定义函数
公式:=LAMBDA(x,PI()*x^2)(A2)
圆的面积公式为:S=πr²,在这里我们将半径定义为X,然后再将A2中得值传入到LAMBDA函数中就能得到面积
但是如果每用一次就定义一次,就失去了这个函数的意义,其实我们可以为这个函数自定义名称来实现类似自定义函数的效果
2.定义名称
首先我们需要复制定义的函数,=LAMBDA(x,PI()*x^2)
然后点击【公式】找到【名称管理器】为这个函数定义一个名称,我们定义的名称为【面积】
之后就能通过刚才定义的名称来做引用了,这个过程就类似自定义函数。下次是可以直接调用的
三、提高计算效率
如下图所示,我们想要在最下方找到这几个学生对应的考核等级,就可以考虑使用LAMBDA来减少计算步骤,提高计算的效率
公式:=LAMBDA(x,IFS(x>=90,"优秀",x>=75,"良好",x>=60,"及格",x<60,"不及格"))(VLOOKUP(C12,$A$1:$B$9,2,0))
四、递归用法
比如现在我们要求1到10这10个数字的和,就需要用的 LAMBDA函数的递归用法,递归的特点就是函数可以调用本身,递归一定要设置一个终止条件来结束递归,否则就会无限制的调用自身,我们来看下公式定义方式
定名名称的公式 =LAMBDA(x,IF(x=1,1,x+递归(x-1)))
结果公式:=递归(10)
跟大家简单介绍下公式的原理
当x=10的时候,会进入IF函数进行判断,结果不等于1,所以函数就会返回100+递归(10-1),也就是10+递归(9)
因为我们在LAMBDA中带入了LAMBDA的名称,所以函数就会进入循环,也就是递归,继续向下计算,下个x的值是x-1,也就是9
当x=9的时候,IF也不等于1,函数就会变为10+9+递归(8)
以次类推,当x=1的时候,公式就是10+9+8+7+6+5+4+3+2+1,
这个函数函数的计算过程了,理解起来还是比较复杂的,大家可以动手试一下
以上就是LAMBDA函数的常规用法, Excel还为它配备了五六个辅助函数,Excel函数至此升值进入编程新片场,后期我们也会大家持续分享它的用法的