ARTICLE · 1154688
Excel 进阶必学:LAMBDA+MAP,自定义函数+多列批量计算
Excel 进阶必学:LAMBDA+MAP,自定义函数+多列批量计算



Excel 进阶必学:LAMBDA+MAP,自定义函数+多列批量计算
以前算一整列,要么下拉填充,要么每行写公式。MAP不一样:把区域交给LAMBDA,一条公式自动“扫”完整列,结果自己溢出。
场景一:单列批量算。

公式:
=LAMBDA(边长,边长^2)
解析:LAMBDA定义参数为“边长”,计算表达式为“边长^2”。
问题来了,这样函数是无法计算结果的,因为参数并未进行传递。
上篇提到,传递参数的方法是在后面加括号,可以这样计算:
=LAMBDA(边长,边长^2)(A2:A7)
接下来,LAMBDA的搭档来啦!
公式:
=MAP(A2:A7,LAMBDA(边长,边长^2))
解析:
MAP的作用是把A2:A7的每个值依次交给“边长”,每传递一个值,都进行平方计算,没有下拉、没有双击,一条公式算出整列全部结果。
因此,实际运用中,LAMBDA往往伴随着各个身怀绝技的搭档出现。
场景二:两列一起算。

公式:
=MAP(A11:A16,B11:B16,LAMBDA(x,y,x*y))
解析:
MAP不仅可以传递一个参数,还能同时传递多个参数,LAMBDA里x对应A11:A16中的每个值、y对应B11:B16中的每个值,每次计算一个结果“x*y”,最后所有结果都呈现出来。
如果结合名称管理器,还能这样用。
公式:
=MAP(A28:A33,B28:B33,总价)

解析:
首先将MAP计算表达式部分“LAMBDA(x,y,x*y)”命名为“总价”,接下来“总价”就可以在MAP中直接作为计算表达式。
这样,可以清晰地看到,MAP的作用实际就是为函数“总价”传递参数。

MAP管批量,LAMBDA管逻辑,搭配起来整列数据处理不再是苦力活。