Google Sheet动态总和

时间:2017-03-23 19:07:04

标签: google-sheets

我正在使用谷歌工作表制作电子表格并做一些简单的数学运算,我想到了如何进行求和但问题是我有大约180行数据并且想要避免,如果可能的话,需要制作每一对数据的公式。这是我的简单代码:

=SUM(AG4:AG5)

所以我在这种情况下在AH4中编写这段代码,并且总是与我想要添加的值相同的相对位置。我想要两个数字的总和在左边一列,当前行和在那之下的一行。是否有任何方法可以使相同的公式可以反复使用而不是输入每个公式。也许某种方法使公式看起来左边的一列取这个数字并将它添加到单元格左边一列和一行下来?

感谢您提供的任何帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用ARRAYFORMULA函数将公式应用于多行。但它不喜欢某些函数,而SUM()就是其中之一。所以我们需要使用不同的方法来添加数字。在这种情况下,我们只使用AG4 + AG5。要将公式应用于电子表格中的所有行,我们会做更多的事情。这是公式,它将放在单元格AG3中,前提是公式应该开始添加项目。

=ARRAYFORMULA( IF( ISBLANK( AG3:AG),, AG2:AG + AG3:AG))

IF ISBLANK AG3:AG)使公式应用于工作表中第3行到最后一行的每一行。 ISBLANK将在我们想要处理的任何行上返回FALSE,因此我们不提供IF语句的TRUE部分。请注意,我没有为TRUE部分添加“”,因为它实际上在行中放置了一个值,并且可能导致其他公式出现问题。由于我们将其放置在单元格AG3中,因此添加将增加将上面的行添加到当前行。

来自评论的编辑

将它放在AH2单元格中可以得到你想要的东西:

=ARRAYFORMULA( IF( ISBLANK( AG2:AG),, IF(iseven( ROW(AG2:AG)),AG2:AG + AG3:AG,)))

更进一步,将其放在单元格AH1中将为您标记标题行并将公式保留在数据行之外。这样做的好处是允许在第2行上方插入行。

=ARRAYFORMULA( IF(ROW(AH1:AH) = 1, "Total", IF( ISBLANK( AG1:AG),, IF(iseven( ROW(AG1:AG)),AG1:AG + AG2:AG,))))

解释与上述类似,只做了很小的改动。

注意:AH栏的其余部分(公式下方)不应包含任何其他手动输入的数据,因此您必须删除公式。