MAP:地图、绘图、制图
映射经常被用来描述函数MAP的功能,但我更喜欢用“顺序执行”来描述它。更正式地说,它是一种遍历。
=MAP (Array1, Array2 或LAMBDA, Array2 或LAMBDA, Array2 或LAMBDA.) MAP 中最后一个有效的参数必须是LAMBDA 表达式;它之前的所有参数都必须有。例如,启用四个参数,其中第四个是LAMBDA 表达式,第一个到第三个是数组。
首先,我们用一个简单的案例来说明一下MAP的“一次运行一个”功能。
为此,请将每个销售数据加5 并输入一个简单的数组公式。
=C2:C12+5 请使用MAP:代替
=MAP(C2:C12,LAMBDA(x,x+5)) 两个表达式的结果完全相同,但计算过程完全不同。
第一个公式将5 与每个数组中的每个元素相加,并且一次性完成。
第二个表达式中MAP 的第一个参数是数据区域,现在传递给LAMBDA 定义的参数x。
X=C2:C12
LAMBDA表达式x+5实际上相当于C2:C12+5,但是这个计算不是一朝一夕完成的,涉及到11次计算。
第一次:C2+5
第二次:C3+5
第三次:C4+5
……
即对范围内的单元格进行逐一加5的操作,最后将结果封装成数组。
累计总数
让我们用一个更直观的案例来解释“一次一步”。
=MAP(C2:C12,LAMBDA(x,SUM(C1:x))) 公式中唯一参数x 相当于C2:C12,SUM(C1:x) 相当于SUM(C1:C12)。
类似地,SUM 计算11 次,每次计算都保持C1 固定并每次执行x 的一个元素。
第一次:SUM(C1:C2)
第二次:SUM(C1:C3)
第三次:SUM(C1:C4)
……
累计总数
找到第一个实现销售目标的人
LAMBDA 系列函数通常用于创建支持更复杂操作的数组。让我用一个例子来解释一下。
在您的数据中搜索包含超过300 条销售记录的名称。
首先,结合MAP 和SUMIF 对每个人的销售额求和。
=MAP(B2:B12,C2:C12,LAMBDA(x,y,SUMIF(B1:x,x,C1:y))) 累计总计
据此,使用XLOOKUP查找300多个名字:
=XLOOKUP(TRUE,MAP(B2:B12,C2:C12,LAMBDA(x,y,SUMIF(B1:x,x,C1:y)))300,B2:B12) 搜索第一个达到销售目标的人
版权声明:本文转载于网络,版权归作者所有。如有侵权,请联系本站编辑删除。