LET+LAMBDA简化公式提高效率,归去来也支持递归!
E精精
WPS函数专家
嗨! 大家好,我是E精精!
最近WPS更新了两个新函数,算是为下面一批数组操作函数打个基础!不过就这两个新函数,也能玩出花!他们分别是 LET函数和LAMBDA函数!
前面我们讲过一个WPS如何0代码定义自己的函数 ,这篇中主要讲解LAMBDA函数的基础玩法,这一篇,我们分享一下LET函数的功能
01 | 简化公式,提高可读性
比如下面的案例,查询对应的成绩,然后就判断登记,如果在过去,VLOOKUP 函数部分要写多次,当然也要计算多次
但是有了LET 函数 ,公式将得到大大简化,同时也提高计算速度,因为LET 定义部分会计算,后面会引用计算的结果,而不会重复计算,尤其对于数据大和公式复杂的情况,更加直观!
请看下面公式,现在 _t 这个变量就代表了VLOOKUP(D2,A:B,2,0) ,只计算一次,后面引用结果提速,同时公式得到了简化,可读性提高!
=LET(_t,VLOOKUP(D2,A:B,2,0),IF(_t<60,"D",IF(_t<80,"C",IF(_t<90,"B","A"))))
02 | 归去来也,支持递归
上面应该讲清楚了,下面我们没来说说WPS 这波更的特色,LAMBDA 支持递归写法,这点微软OFFICE 需要定义名称才能使用,这算是一个特色了!
递归最经典的案例,应该是阶乘5!=4*4! 一次4!=4*3! 我们发现规律了吧,一个数的阶乘和下一个数阶乘的关系,当我们处理到1!=1 我们再归去即可得到2!、3!、4! 最后得到5!
那么转成公式要如何写呢?是不是非常妙?
=LET(fx,LAMBDA(x,IF(x=1,1,x*fx(x-1))),fx(5))
更多用法,有待进一步挖掘,一起玩起来吧!