通过应用 LAMBDA 来创建新值,返回将数组中每个值映射到新值而形成的数组。
语法
=MAP (array1, lambda_or_array<#>)
MAP 函数语法具有以下实参和形参:
-
array1 要映射的数组。
-
lambda_or_array<#> 一个 LAMBDA,必须是最后一个参数,并且必须具有传递的每个数组的参数,或者必须有另一个要映射的数组。
错误
提供无效的 LAMBDA 函数或不正确的参数数字将返回 #VALUE! 错误称为“参数不正确”。
示例
示例 1:特定值上方的平方数
将示例数据输入单元格 A1:C2,然后将公式复制到单元格 D4 中:
=MAP(A1:C2, LAMBDA(a, IF(a>4,a*a,a)))
示例 2:在一行中查找两列均为 TRUE 的值
创建一个名为“TableA”的表,其中两列名为“Col1”和“Col2”,从单元格 D1 开始。 在单元格 G1 中添加名为 “BothTrue” 的列。 将公式复制到单元格 G2 中:
=MAP(TableA[Col1],TableA[Col2],LAMBDA(a,b,AND(a,b)))
示例 3:在一行中的三列内查找符合特定条件的值
使用单元格 D1:E11 中名为 “Size” 和 “Color” 的两列创建一系列示例数据。 在单元格 F1 和 G1 中分别添加名为 “Valid Size” 和 “Valid Color” 的两个列标题。 将公式复制到单元格 F2 中:
=FILTER (D2:E11,MAP (D2:D11,E2:E11,LAMBDA (s,c,AND (s=“Large”,c=“Red”) ) ) )