【问题标题】:Google Sheet Dynamic Sum谷歌表格动态总和
【发布时间】:2017-03-23 19:07:04
【问题描述】:

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

=SUM(AG4:AG5)

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

感谢您提供的任何帮助。

【问题讨论】:

    标签: google-sheets


    【解决方案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 列的其余部分(公式下方)不应有任何其他手动输入的数据,因此您必须删除公式。

    【讨论】:

    • 这会让它在 3 之后的每一行都执行操作,不是吗?不能这样做,因为例如我想以 2 对的形式添加每一行,然后显示该总和,而不是所有行一起显示。我不能使用特定的单元格坐标,因为我将从第二行开始每隔一行使用脚本。这就是为什么我在想是否有一些命令可以让你离开一列以获得第一个值,离开一列并向下一行获取下一个值。相对于脚本所在的单元格。
    • 将其添加到第 3 行使其从第 3 行开始操作。它将添加 2 到 3、3 到 4、4 到 5。您能否提供一个样本表来显示您的身份后。它可能发生在 A 到 G 列中,并且只显示此问题的特定内容。我现在了解您想将第 2 行添加到第 3 行、第 4 行到第 5 行、第 6 行到第 7 行,并且在第 2、4 和 6 行等中没有任何内容。这是目标吗?可以通过以下方式完成:=ARRAYFORMULA( IF( ISBLANK( AG3:AG),, IF(iseven( ROW(AG3:AG)),,AG2:AG + AG3:AG)))
    • 我希望脚本/结果显示在第 2、4、6 行的 AH 列中,以此类推,第 3、5、7 行等没有任何内容,将上传我拥有的内容。 docs.google.com/spreadsheets/d/…
    猜你喜欢
    • 2018-12-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-04
    • 1970-01-01
    • 1970-01-01
    • 2021-10-27
    • 2023-03-28
    相关资源
    最近更新 更多