达永编程网

程序员技术分享与交流平台

lambda函数进阶必备(lambda函数的语法格式)

Lambda 函数是学习编程不可或缺的一部分。你可以将其视为一种快速定义的函数,它能够根据特定需求执行特定的任务。比如我们熟悉的sum函数,也可以通过Lambda函数来实现尽管Lambda函数可以独立使用,但它们通常与其它函数结合使用,以发挥更大的作用。比如map 、byrow、bycol、scan、reduce、makearray。它们经常需要Lambda函数作为参数来执行特定的操作。比如map:=MAP(数组,lambda_or_array2,...),在我们深入学习这些函数之前,先掌握Lambda函数的用法是非常关键的.

一、参数

=LAMBDA([parameter1, parameter2, …,] calculation)

简单的说一下这个函数,想象一下,你想要创建一个函数来计算两个数字的和可以定义一个Lambda函数,其中x和y是输入的变量。就是指这部分[parameter1, parameter2, …,],这里你可以定义多个,一般我们定义1-3个就足够了,第二个参数是指的计算,就是你要告诉lambda函数你要怎么计算,比如你让x 和y 相加,那calculation就是x+y ,那完整的表达式就是=LAMBDA(x,y,x+y)。但是你现在这样写他是得不到结果,他会报错#CALC!。因为你现在并没有给定x 和 y 的数值。你可以按下面方式给定x 和 y 。这里面如果你输入一个参数,那也会报错。因为你的运算规则是x+y。这里面的x+y你可以用你学过的任何函数嵌套构建你的需求表达式。




二、封装成函数

处理文本表达式的计算时,WPS提供了一个方便的evaluate函数,但在微软Excel中,我们通常需要使用宏表函数来实现类似的功能。例如,我们可以在Excel中通过自定义名称创建一个求和函数,但这通常需要我们指定一个固定的单元格范围,限制了其灵活性。如果我们希望计算的是一个动态的单元格区域(B 和D列都要计算)。我们先看看宏表函数的效果(图1)。再看看lambda自定义的结果(图2)。我们使用公式:lambda(x,evaluate(x)),x就相当于一个变量,后续我们直接引用单元格的数据。通过这种方式自定义一个函数使用起来更佳方便。你可以自己尝试把上面提到的=LAMBDA(x,y,x+y)封装成函数作为练习。




三、let初体验及let搭配lambda函数

Let 函数在编程和数据处理中非常有用,它允许你创建一个临时的变量来存储一个值或表达式的结果,这样你就可以在复杂的公式或函数中重复使用这个值,而不必每次都重新计算。let函数可以干什么呢,let函数可以定义一个名称,这名称比较有意思,我们可以用字母定义,也可以用汉字定义,有时候写在函数中用汉字定义还比较有意思,第二参数名称值,可以是表达式 ,也可以是常量(用的不多),也可以是一个区域引用,你可以定义多组名称,最后是运算的结果表达式。比如我们在写函数写的很长,有一部分要反复重复使用,那这时候就需要let出场了。 我们从一个案例中看一下就知道了。我们要在第一个表中查询成绩,如果空缺代表缺考。我们先看下常规的写法,然后再尝试下let定义重复内容。

参数=LET(名称1,名称值1,计算或名称2,名称值2,...)


以上的案例是let定义了一个名称s ,来代替重复使用的vlookup部分,来缩短了公式的字符长度。也更加精简快捷。那我们在演示一个用lambda定一个函数,然后用let 赋值一个名称。我们举例一个表格转换的案例。


控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言