我有一个包含两列的 Google 表格。 F 列中有一个数值,我希望 G 列包含前一行中 G 列的值加上当前行中 F 列的值,基本上是一个总计。
我正在尝试使用数组公式进行计算,它适用于前几行,但之后 G 列包含与 F 列相同的值。
我使用的公式是:
=arrayformula(F3:F10+G2:G9)
我做错了什么?
最佳答案
一般来说,没有什么不应该使用它自己的输出作为输入。迭代计算将是必需的,只要有一个既定的替代方案,就应该避免这条充满陷阱的路径。在这种情况下,运行总计的常用方法是 MMULT 和一些装饰。
如果您的数据从 F2 开始,请将其放入 G2:
=ArrayFormula(IF(F2:F10,
MMULT(
TRANSPOSE((ROW(F2:F10)<=TRANSPOSE(ROW(F2:F10)))*F2:F10),
SIGN(F2:F10)),
IFERROR(1/0)
))
或者,稍微不透明,但能够处理负值:
=ArrayFormula(IF(F2:F10,
MMULT(
TRANSPOSE((ROW(F2:F10)<=TRANSPOSE(ROW(F2:F10)))*F2:F10),
IF({F2:F10}<>0,1,0)),
IFERROR(1/0)
))
关于google-sheets - 如何使用数组公式计算每行的余额,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55348125/