【问题标题】:ARRAYFORMULA to sum previous row cellARRAYFORMULA 对上一行单元格求和
【发布时间】:2015-08-13 05:15:08
【问题描述】:

我有这样的数据表。

Column--    |C1|C2|C3|Total|
=========================
Row--1      | 0| 0| 0|  100| (I will have some pre calculated value for total column which is not sum of the columns in this row)

Row--2      |10|20|30|  160| (sum of previous row =100+current row (10+20+30) = 160)

Row--3      | 1| 2| 3|  166|

Row--4      | 4| 5| 6|  181|

今天我对每一行都使用了复制粘贴公式。但是,我想要一个 SUM 列的数组公式,以便在我添加新行时该公式会自动起作用。

我想要的是,SUM 列将包含当前行 A 到 D 值和上一行 SUM 值的总和。

所以在谷歌电子表格中,我最初只有 20 行。根据交易,我将添加行,因此我想要一个数组公式,这样即使在添加新行后我的公式也能正常工作。

添加了示例表

https://docs.google.com/spreadsheets/d/1wlWqdFwgv90s50iP-bXXBHciyualohj610qFiSatcmQ/edit?usp=sharing

【问题讨论】:

  • 给出你的数据和预期结果的正确截图;
  • @AHC 我已经编辑了这个问题,可以理解吗?
  • 该公式适用于第 2 行。所以我想在第 3 行中,我必须拖动公式或复制粘贴公式。如果我有 2000 多行,但我不能一直拖着这么多行怎么办。此外,对于同一行中的更多列集,我将有相同的场景。所以我正在寻找一个数组公式
  • 这很好。但是表格很复杂,我想简化表格中的公式。所以我正在寻找一个数组公式。有办法吗?
  • 建议的 cmets 或答案均无效。有什么解决办法吗?

标签: google-sheets array-formulas


【解决方案1】:

试试这个example sheet
简单地把它放在E的第一行:

=SUM(A2:D2)

然后:

=IF((COUNTA(A3:D3)>1),SUM(A3:D3)+E2,"")

并将其向下拖动到 2000+ 行。 它在示例表中为您完成。如果你在行中添加新数据,你会得到你想要的。

【讨论】:

  • 这与 sum(a3:D3)+D2 相同,只是它之前不检查值。
  • 我真的在找数组公式。
  • @Rams 你必须解释为什么你需要一个数组,以及它应该如何工作。如果您需要,您可以带上您的复杂工作表,我们可以查看一下,看看可以做些什么。你可以放一组虚拟数据。
  • 我添加了一个示例链接
【解决方案2】:

我想我会选择一个涉及两个公式的解决方案:

在 E1 中,一个负责对每行求和的公式;

=ArrayFormula(mmult(filter(A1:D,len(A1:A)), transpose(column(A1:D1)^0)))

然后在 F1 中:前行的“累积”:

=ArrayFormula(SUMIF(ROW(A1:A1064),"<="&ROW(A1:A1064),E1:E1064))

(更改范围以适应)

另请参阅:example sheet 1

如果你真的需要一个公式的解决方案,你可以试试:

=ArrayFormula(if(len(A1:A1064), if(row(A1:A1064)=1, mmult(A1:D1, transpose(column(A1:D1)^0)),if(A1:A1064,mmult(transpose(if(transpose(row(A1:D1064))>=row(A1:D1064),A1:A1064+B1:B1064+C1:C1064+D1:D1064, 0)),row(A1:A1064)^0),)),))

另见example sheet 2

【讨论】:

    【解决方案3】:

    数组累积和的另一种方法:

    =ArrayFormula(SUMIF(IF(COLUMN(A1:D1),ROW(A2:A)),"&lt;="&amp;ROW(A2:A),A2:D))

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-19
      • 1970-01-01
      • 1970-01-01
      • 2021-06-11
      • 2023-03-27
      • 2019-10-19
      • 2012-11-09
      相关资源
      最近更新 更多