google-sheets - 如何使用数组公式计算每行的余额

标签 google-sheets array-formulas

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

相关文章:

javascript - 使用 Google Apps 脚本将两个选项卡合并到一个 pdf 中时出现 "ReferenceError: setTimeout"

arrays - Vlookup 不适用于多种条件

google-sheets - 在 Google 表格中使用 ImportRange 时,为什么 Query 会删除带有破折号的值?

arrays - 动态下拉菜单、间接、多行

javascript - 从自定义 html 对话框获取数据

javascript - 使用应用程序脚本从 google 表格通过电子邮件发送表格 - 单击按钮

if-statement - 根据所选选项增加 2 个不同的 ID

excel - 有条件地添加值并输出不带空格的列表

javascript - 谷歌应用可视化可以吗?具有缩放选项的时间轴