色酷色 Excel新函数LAMBDA的用法(上)——毋庸VBA你也能作念自界说函数
文 前 推 荐 色酷色
新函数VALUETOTEXT和ARRAYTOTEXT用法新函数XMATCH用法LET,妙手最爱函数带经由预警功能的甘特图制作图片
图片
编按:
先容Excel新函数LAMBDA的基本用法,以及如何自界说函数。有了LAMBDA,东说念主东说念主齐不错自界说函数,而不需要用VBA。
新函数LAMBDA被誉为Excel函数划期间的陡立,有一句不太准确的形色“LAMBDA终结了用公式编程”!
它最被讴颂的两点:
◎用公式完成可肖似使用的自界说函数,不需要用VBA,不需要保存为撑握宏的文献;
◎用公式完成递归策画,而以往需要用VBA/JavaScript代码才能进行。
1. 作用与语法
LAMBDA函数用于创建可在现时文献中肖似使用的自界说函数。
=LAMBDA([参数1,参数2…],策画式)
参数1、参数2等,类似数学方程中竖立的未知数X、Y;
策画式即是含参数的策画抒发式。
LAMBDA函数的使用比较罕见,主要通过界说称呼使用,也不错在单位格中剪辑使用。
2. 基本用法
1)在单位格中的临时用法
比较其他函数,LAMBDA在单位格或剪辑栏中使用须要加一个尾巴——括起来的参数值概况援用
=LAMBDA(……)(参数值或援用)
比方将华氏度转成摄氏度。
图片
从物理上咱们知说念摄氏度=(华氏度-32)*5/9。因此,咱们不错竖立华氏度温度为X,保留一位一丝,那摄氏度就=ROUND(X-32)*5/9,1)。
在B3单位格中输入公式=LAMBDA(X,ROUND((X-32)*5/9,1))(A3)并下拉填充即可得回摄氏度数据。
图片
泄露:
公式尾巴(A3)必须有!这个尾巴给出参数X的具体值概况援用。要是莫得参数值或援用的尾巴,会出现#CALC!无理。
图片
LAMBDA中的参数最多不错界说253个。底下求圆环面积用到两个参数。
输入公式“=LAMBDA(X,Y,ROUND(PI()*(X^2-Y^2),2))(A12,B12)”并下拉填充。
图片
泄露:
PI()指的是圆周率Π。
尾巴(A12,B12),A12是参数X援用单位格,B12是参数Y援用单位格,两者之间用逗号离隔。
LAMBDA在单位格中的讹诈不但体现不出它的上风“可肖似使用的自界说函数”“递归策画”,而且比平常函数使用还多了一个繁琐的尾巴。
因此,这种用法仅仅用于自界说函数前的测试,测试公式是否正确。
2)在界说称呼中使用
下方索求单位格中所少见字,数字之间用逗号分开。
图片
泛泛,汲取兼顾低版块的如下函数公式不错完成索求:
=SUBSTITUTE(TRIM(CONCAT(IF(IFERROR(FIND(MID(A3,ROW($2:$51),1),"-0.123456789"),0),MID(A3,ROW($2:$51),1)," ")))," ",",")
该公式难以认知,况且偏长,要是有多个表需要使用它,即便复制粘贴,也需要往还修改。
图片
咱们不错用LAMBDA函数来生成一个自界说函数用于索求。
复制前边的公式,然后单击公式选项卡中“界说称呼”。竖立称呼为“tiqushuzi” (自界说函数的称呼最佳能传达出其作用,肤浅使用),公式为“=LAMBDA(字符串,SUBSTITUTE(TRIM(CONCAT(IF(IFERROR(FIND(MID(字符串,ROW(Sheet1!$2:$51),
1),"-0.123456789"),0),MID(字符串,ROW(Sheet1!$2:$51),1)," ")))," ",","))”
图片
笃定后,得回一个名为“tiqushuzi”的自界说函数。
该自界说函数既容易认知(外行齐能认知),又肤浅在多表中肖似使用——这即是LAMBDA带来的渊博上风之一。
图片
3. 典型应用
1)将复杂的公式界说为自界说函数肤浅在多表中肖似使用
比方财务作念账往往需要将金额转成大写。
要是按泛泛写公式,很长的:
=TEXT(INT(A17),"[dbnum2]")&"元"&IF(INT(A17*10)-INT(A17)*10=0,"",TEXT(INT(A17*10)-INT(A17)*10,"[dbnum2]")&"角")&IF(INT(A17*100)-INT(A17*10)*10=0,"整",TEXT(INT(A17*100)-INT(A17*10)*10,"[dbnum2]")&"分")
图片
每次输入这样长的公式,很要命呢。
要是用LAMBDA定位为自界说“DAXIE”函数,则使用肤浅。
图片
泄露:
称呼中的自界说公式=LAMBDA(金额,TEXT(INT(金额),"[dbnum2]")&"元"&IF(INT(金额*10)-INT(金额)*10=0,"",TEXT(INT(金额*10)-INT(金额)*10,"[dbnum2]")&"角")&IF(INT(金额*100)-INT(金额*10)*10=0,"整",TEXT(INT(金额*100)-INT(金额*10)*10,"[dbnum2]")&"分"))
进击指示和时期:
自界说的函数只可在现时文献中使用!
要是其他文献需要使用已界说的自界说函数如何办呢?很粗拙,从含有自界说函数的文献中复制一个责任表(sheet),空的责任表也行,到其他文献即可。
图片
2)递归运算
要是在界说函数的时候,LAMBDA公式中调用函数自己,则不错终结成立在轮回运算上的递归运算。
具体的递归运算咱们鄙人篇著作中先容,此处仅仅让大家感受一下。
比方索求字符串中统统阿拉伯数字(忽略一丝点、负号等)可自定以函数“qushu”完成。
在界说称呼中输入称呼“qushu”,公式LAMBDA(x,IF(x="","",IFERROR(LEFT(x,1)*1,"")&qushu(RIGHT(x,LEN(x)-1))))
图片
然后在表格中使用“qushu”自界说函数即可。
图片
泄露:
小骚货公式中IF函数的第1和第2参数部分“IF(x="","",”用于竖立间隔要求。递归运算中必须有轮回间隔要求。
IF函数的第3参数部分“IFERROR(LEFT(x,1)*1,"")&qushu(RIGHT(x,LEN(x)-1)))”进行轮回取数。
4. 转头
本篇先容了LAMBDA函数的两种基本用法以及如何用它自界说函数。
LAMBDA自界说函数不错在现时文献中像平常函数那样使用,况且不需要保存为撑握宏的才能,肤浅共享使用。要是大家成心思和时辰,不错将一些与我方责任密切关系的复杂公式齐作念成自界说函数保存到某个文献中,将大大提升责任后果。
自界说函数不再是VBA妙手才能作念的事了!色酷色
本站仅提供存储奇迹,统统本体均由用户发布,如发现存害或侵权本体,请点击举报。