一样的效果,数组的速度快得超乎想象。

适用场景

相同的函数大量的重复使用。

优化思路

将重复使用的函数改成用数组输出。

实例

例如需要将 A 列的内容和 B 列的内容合并在一起,一共 30 万的数据,先试试看常规写法。

耗时大约 22 秒左右。

使用 ARRAYFORMULA 数组输出,耗时大约 4 秒左右。

使用 MAP 数组输出,耗时大约 9 秒左右。

从测试的数据来看,数组输出的速度要比常规的写法快很多,其中 ARRAYFORMULA 性能最佳,MAP 其次,不过在一些特殊场景 MAP 会更加灵活。

因为常规的写法是每一个单元格都有一个函数进行计算,那么就等于迸发式的执行。每一个函数函数都在同一时间进行计算,会导致表格暂时性的卡住,如果是大型数据可能会直接奔溃。

那么使用数组就不一样了,会将引用的范围按照顺序依次进行计算,这样就避免了同一时间大量的计算,这也是为什么数组要比常规的写法性能更快。