类似 ARRAYFORMULA 函数实现数组输出的效果。
LAMBDA
LAMBDA 是一个自定义函数,允许将一个完整的公式封装成函数重复使用。
语法
LAMBDA(变量, 公式)
例子1
将 A1 的值乘以 20。
简单的写法是 =A1 * 20
,不过下面会演示 LAMBDA 函数计算的原理。
=LAMBDA(x, x * 20)(A1)
第一个参数是变量,x 是自定义的变量,A1 是引用的内容。A1 的值会被赋值到 x 变量,x 的结果同等于 A1。
第二个参数是公式,将 x 变量乘以 20,同等于 A1 * 20。最后输出的结果是 200。
例子2
计算两个数的平均值。
=LAMBDA(x, y, (x + y) / 2)(A1, B1)
LAMBDA 函数支持同时设置多个变量,并且按照顺序赋值。因为需要计算两个数的平均值,所以就设置两个变量对应不同的值,这里用的是 x 和 y。A1 的值赋值到 x 变量,B1 的值赋值到 y 变量。
同等于 (A1 + B1) / 2
,最后输出的结果是 56。
MAP
MAP 函数必需搭配 LAMBDA 一起使用,MAP 函数会将引用范围的每一个值应用到 LAMBDA 函数中。
语法
MAP(范围, LAMBDA)
例子
计算 A1 到 A5 范围所有内容乘以 20 的结果。
MAP 函数会将 A1 到 A5 的每一个内容,循环应用到 LAMBDA 函数中,再由 LAMBDA 函数的自定义公式计算输出结果。
最后会以数组的形式输出结果。
组合使用
MAP 和 LAMBDA 组合使用的效果和 ARRAYFORMULA 函数很像,但是有的函数不支持 ARRAYFORMULA 函数数组输出,但是可以使用 MAP 和 LAMBDA 组合,例如:SUMIF、SUMIFS、GOOGLETRANSLATE 等等...
下面以 GOOGLETRANSLATE 函数为例子,将 GOOGLETRANSLATE 作为 LAMBDA 的公式,配合 MAP 函数,将 A1 到 A4 循环应用到 LAMBDA 中翻译,最后以数组的格式输出。
相关推荐:
Google Excel 性能优化 - 数组输出
Google Excel IMPORTRANGE 数组输出