excel mapping函数 excel中的强大映射工具! map函数exce

excel mapping函数 excel中的强大映射工具! map函数exce

MAP函数是LAMBDA的辅助函数。在Excel中,MAP函数主要用于对数组中的每个值进行特定的运算,并将结局映射到一个新的值。这个函数的核心在于“映射”,即通过一个函数(通常一个Lambda函数)将一个数组中的每个元素按照特定的制度转换成另一个数组。

微软Office LTSC 2021专业增强版 简体中文批量许可版 2024年09月更新

  • 类型:办公软件
  • 大致:2.2GB
  • 语言:简体中文
  • 时刻:2024-09-12

查看详情

函数语法:

=MAP(数组1,[数组2, &8230;],LAMBDA(x, y, &8230;, 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,X0.9+Y0.8))

定义B2:B4数组区域内每个单元格内容为变量X,再定义C2:C4数组区域内每个单元格内容为变量Y。用LAMBDA赋予变量X与变量Y之间的运算制度:X0.9+Y0.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

推荐阅读:Excel进入函数式编程: MAP函数使用详解及相关案例

版权声明

返回顶部