专业编程基础技术教程

网站首页 > 基础教程 正文

高阶用户必备:MAP函数+LAMBDA在WPS中的组合技实战!

ccvgpt 2025-06-08 19:32:49 基础教程 1 ℃

高阶用户必备:MAP函数+LAMBDA在WPS中的组合技实战!

函数用法:

高阶用户必备:MAP函数+LAMBDA在WPS中的组合技实战!

MAP(数组,LAMBDA或数组1,LAMBDA或数组2,......)

通过应用LAMBDA来创建新值,返回将数组中每个值映射到新值而形成的数组。

案例一:传递一个数组

如下图所示,根据圆的半径,计算出各个圆的周长。

公式一:

=2*PI()*A2:A8

解析:

数组公式,圆的周长等于2乘以 π(Pi)再乘以半径A2:A8。

MAP公式:

=MAP(A2:A8,LAMBDA(x,2*PI()*x))

解析:

MAP第一参数A2:A8为遍历的数组,LAMBDA中定义为x,可理解为x1=2,x2=3,......,x7=8;MAP依次将x传递到计算表达式2*PI()*x中进行计算,得到的数组即圆的周长。

案例二:传递多个数组

如下图所示,计算长方体的体积。

公式:

=MAP(A2:A7,B2:B7,C2:C7,LAMBDA(x,y,z,x*y*z))

解析:

MAP前三个参数A2:A7、,B2:B7、C2:C7均为遍历的数组,LAMBDA中依次定义为x、y、z,MAP依次将x、y、z的值传递到计算表达式x*y*z中进行计算,得到的数组即正方体体积。

案例三:分组编号

如下图所示,要对相同部门从1开始进行编号。

方法一:

=COUNTIF(A$2:A2,A2),向下填充公式得到结果。

解析:

运用COUNTIF进行计数,从COUNTIF(A$2:A2,A2)到COUNTIF(A$2:A9,A9)依次扩大计数范围,从而实现分组编号的效果。

MAP公式:

=MAP(A2:A9,LAMBDA(x,COUNTIF(A2:x,x)))

解析:

MAP第一参数A2:A9为遍历的数组,第一个x传递到计算表达式即COUNTIF(A2:A2,A2),后面依次为COUNTIF(A2:A3,A3)、......、COUNTIF(A2:A9,A9),这样就实现了方法一中填充公式的效果。

案例四:辅助筛选

如图,根据出勤、业绩得分数据,筛选出符合出勤天数达到20,业绩分达到80的人员名单。

公式一:

=FILTER(A2:A11,(B2:B11>=20)*(C2:C11>=80))

解析:

B2:B11>=20与C2:C11>=80两个条件相乘,表示同时满足两个条件,计算得到的数组作为FILTER的筛选条件,从而筛选出符合条件的名单。

MAP公式:

=FILTER(A2:A11,MAP(B2:B11,C2:C11,LAMBDA(X,Y,AND(X>=20,Y>=80))))

解析:

MAP依次将数组B2:B11、C2:C11中的值作为X、Y传递到计算表达式中AND(X>=20,Y>=80)计算,返回由FALSE、TRUE组成的数组,作为FILTER的第二参数从而筛选出符合条件的人员名单。

小结:

通过MAP公式与常规公式的对比,理解掌握MAP函数+LAMBDA组合的用法,从而在解决实际问题时更能得心应手。

Tags:

最近发表
标签列表