繁体   English   中英

如何使用数组公式计算每一行的余额

[英]How to use an arrayformula to calculate balance on each line

我有一个包含两列的 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)
))

一个轻微的选择是:

=ARRAYFORMULA(IF(F2:F; 
 MMULT(TRANSPOSE((ROW(F2:F)<=TRANSPOSE(ROW(F2:F)))*F2:F); 
 SIGN(F2:F)^2); IFERROR(1/0)))

0

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM