网站首页 > 基础教程 正文
MAP函数是LAMBDA的辅助函数。在Excel中,MAP函数主要用于对数组中的每个值进行特定的运算,并将结果映射到一个新的值。这个函数的核心在于“映射”,即通过一个函数(通常是一个Lambda函数)将一个数组中的每个元素按照特定的规则转换成另一个数组。
函数语法:
=MAP(数组1,[数组2, ...],LAMBDA(x, y, ..., x与y的表达式))
数组1(必需):第一个输入数组,可以是单列、多列或单元格范围(如A2:A10)。
数组2(可选):最多254个额外数组,须与数组1的行数和列数一致(如B2:B10、C2:C10)
LAMBDA表达式(必需):最后一个参数,用于定义每个元素的操作逻辑。其参数个数需与输入数组的数量严格匹配。
1个数组参数 →LAMBDA(x, 表达式)
x代表数组1中的每个元素,表达式代表对x的运算规则。
2个数组参数 →LAMBDA(x, y, 表达式)
x代表数组1中的每个元素,y代表数组2中的每个元素,表达式代表对x与y的运算规则。
LAMBDA函数最简单的原理:
LAMBDA(x, y, x+y),假设我们对两个参数进行赋值:x=1,y=3,这里的(1,3)依次传递给x和y,然后用它们执行计算1+3,返回结果4。
单数组简单映射:
比如我们想要将A2:B5区域的内的负数批量在另一区域转换为正数。
可以这样输入公式:
=MAP(A2:B5,LAMBDA(X,X*-1))
定义A2:B5数组区域内每个单元格内容为变量X,用LAMBDA赋予变量X的运算规则为X*-1,即A2:B5数组区域内的每个变量X循环遍历依次乘以-1,然后得到一个映射出来的新的数组区域D2:E5。
单数组条件简单映射:
比如我们想要将A1:B4区域内学生姓名对应的成绩,大于60分的显示出来,小于等于60分的显示空值。
我们可以这样输入公式:
=MAP(A1:B4,LAMBDA(X,IF(X>60,X,"")))
定义A1:B4数组区域内每个单元格内容为变量X,用LAMBDA赋予变量X的运算规则,运算规则用到了IF函数条件判断:如果X>60分,显示原分数X,否则显示空值即可。即A1:B4数组区域内的每个变量X循环遍历依次按照IF函数进行条件判断,然后将遍历后的判断结果映射出新的数组区域D1:E4。
双数组简单映射:
比如我们要将每个同学的语文成绩和数学成绩加权后,得到总成绩。加权规则:语文成绩加权*0.9、数学成绩加权*0.8后相加。
我们这样输入公式:
=MAP(B2:B4,C2:C4,LAMBDA(X,Y,X*0.9+Y*0.8))
定义B2:B4数组区域内每个单元格内容为变量X,再定义C2:C4数组区域内每个单元格内容为变量Y。用LAMBDA赋予变量X与变量Y之间的运算规则:X*0.9+Y*0.8。即B2:B4与C2:C4数组区域内的每个变量X与Y循环遍历这个计算规则,最终映射出新的数组区域E2:E4。
经典累计求和案例:
B列是日销量数据,我们想要对其累计求和。
我们可以这样输入公式:
=MAP(B2:B7,LAMBDA(X,SUM(B2:X)))
定义B2:B7区域内每个单元格内容为变量X,再用LAMBDA函数对变量X进行运算规则定义:SUM(C2:X),则变量X会循环遍历B2:B7区域内每个单元格,依次为:
SUM(B2:B2)=100
SUM(B2:B3)=100+300=400
SUM(B2:B4)=100+300+500=900
SUM(B2:B5)=100+300+500+400=1300
SUM(B2:B6)=100+300+500+400+350=1650
SUM(B2:B7)=100+300+500+400+350+100=1750
猜你喜欢
- 2025-06-08 js 如何定义map及赋值(js自定义map)
- 2025-06-08 MAP函数在WPS中的嵌套应用,倍数条件取值
- 2025-06-08 高阶用户必备:MAP函数+LAMBDA在WPS中的组合技实战!
- 2025-06-08 Excel初学小白说说循环遍历函数reduce、scan和map简单说
- 2025-06-08 python map函数的用法和特点(python中map函数功能)
- 2025-06-08 遍历多个数组!6个MAP函数高阶用法,EXCEL数据处理一招搞定!
- 2025-06-08 Excel新函数MAP函数基础应用篇(excel map函数)
- 2025-06-08 新函数MAP来了,Excel进入函数式编程,我越来越看不懂了
- 2024-07-24 【python】两分钟掌握map()函数的工作原理
- 2024-07-24 Python语言学习实战-内置函数map()的使用(附源码和实现效果)
- 最近发表
- 标签列表
-
- jsp (69)
- gitpush (78)
- gitreset (66)
- python字典 (67)
- dockercp (63)
- gitclone命令 (63)
- dockersave (62)
- linux命令大全 (65)
- pythonif (86)
- location.href (69)
- dockerexec (65)
- tail-f (79)
- queryselectorall (63)
- location.search (79)
- bootstrap教程 (74)
- deletesql (62)
- linuxgzip (68)
- 字符串连接 (73)
- html标签 (69)
- c++初始化列表 (64)
- mysqlinnodbmyisam区别 (63)
- arraylistadd (66)
- mysqldatesub函数 (63)
- window10java环境变量设置 (66)
- c++虚函数和纯虚函数的区别 (66)