之前所有行的 ArrayFormula 和 PRODUCT?

ArrayFormula and PRODUCT of all previous rows?

我有一列百分比变化(A 列)并想创建一个 运行 总百分比变化(B 列):

   A        B
-------  -------
100.00%  100.00%
 92.75%   92.75%
 97.23%   90.18%
100.00%   90.18%
100.56%   90.68%

在 B 列的每个单元格中使用公式很容易,从 B1 开始向下复制:

=IF(B1="","",PRODUCT(B:B1))

但是,我想将其更改为 ArrayFormula,以避免在添加行时需要连续将该公式复制到列中。

这可以使用 ArrayFormula 吗?

回到学校。所以你取对数,做一个 运行 求和,然后反对数:

=ArrayFormula(10^mmult(if(column(indirect("A1:"&address(counta(A:A),counta(A:A))))>row(indirect("A1:"&address(counta(A:A),counta(A:A)))),0,1),log10(indirect("A1:A"&counta(A:A)))))

我忘记了您实际上不必创建二维数组来计算 运行 总数,因此可以简化为

=ArrayFormula(10^mmult(if(transpose(row((indirect("A1:A"&counta(A:A)))))>
row(indirect("A1:A"&counta(A:A))),0,1),log10(indirect("A1:A"&counta(A:A)))))