Google sheets ARRAYFORMULA对上一行单元格求和

Google sheets ARRAYFORMULA对上一行单元格求和,google-sheets,array-formulas,Google Sheets,Array Formulas,我有这样的数据表 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+

我有这样的数据表

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行。基于事务,我将添加行,因此我需要一个数组公式,这样即使在添加新行之后,我的公式也可以工作

添加了一个示例表

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

=SUM(A2:D2)
然后:

=IF((COUNTA(A3:D3)>1),SUM(A3:D3)+E2,"")
并将其向下拖动到2000多行。
在示例表中为您的客户完成。如果您在行中添加新数据,您将得到您想要的。

我想我会选择包含两个公式的解决方案:

在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))

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


=数组公式(SUMIF(IF)(列(A1:D1),行(A2:A)),"给你的数据和预期结果一个适当的屏幕截图;@AHC我已经编辑了这个问题,可以理解吗?公式将适用于第2行。因此,我想在第3行中,我必须拖动公式或复制粘贴公式。如果我有2000多行,而我不能继续拖动那么多行怎么办?更多的话,我将为更多的co设置相同的场景列在同一行。所以我在寻找一个数组公式。这很好。但是表格很复杂,我想简化表格中的公式。所以我在寻找一个数组公式。有没有办法?建议的注释或答案都不起作用。有没有解决办法?这与sum(a3:D3)相同+D2除了它以前没有检查值之外。我真的在寻找一个数组公式。@Rams你必须解释为什么需要一个数组,以及它应该如何工作。如果你需要,你可以带上你的复杂表格,我们可以看看它,看看能做些什么。你可以放一组虚拟数据。我已经添加了一个与示例相关的链接
=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),)),))