【问题标题】:Using ArrayFormula for a running total causes a circular reference将 ArrayFormula 用于运行总计会导致循环引用
【发布时间】:2017-06-21 23:23:53
【问题描述】:

有关我的问题的示例/示例,请参阅随附的 Google 表格。我正在尝试使用ARRAYFORMULA() 来保持C 列中的运行总计,基于将C 列中的前一行的值与B 列中的当前行的值相加。在我将其设为ARRAYFORMULA 之前,它工作正常。在 F-H 列中,您可以看到我尝试了数组版本并得到了“循环依赖”错误。

工作公式:
=B3+C2(在单元格 C3 中)

无效的公式(带有所需的ARRAYFORMULA):
=ArrayFormula(G3:G+H2:H)(在单元格 H3 中)

我的问题是,我可以对我的公式进行哪些调整,以便在添加新行时自动填充页面下方的公式(而不是填充空白数据)。

Name    Days    Total Days
Jane    5       6
Tom     2       8
Billy   4       12
Sue     6       18
Sally   1       19

Sample document

【问题讨论】:

    标签: if-statement google-sheets array-formulas sumifs cumulative-sum


    【解决方案1】:
    =ARRAYFORMULA(IF(B2:B="", ,SUMIF(ROW(B2:B), "<="&ROW(B2:B), B2:B)+1))
    

    demo spreadsheet

    【讨论】:

      【解决方案2】:

      如果这是你需要的(总是在 C 列中求和),

      那么你不需要arrayformula你可以使用这个简单的单元格公式(这是C2公式):

      =B2+(If(ISNUMBER(C1), C1, 0))
      

      然后将其展开到页面下方,here 是我捕获的工作表

      干杯,克雷斯

      【讨论】:

      • 克雷西米尔感谢您的回复。确实,该公式正确地进行了简单的计算,但是,我的问题与将其设为数组公式有关,因此在添加新行时该列会自动计算。我的真实工作表中的数据过于动态,以至于每次添加和删除行时都必须将公式向下拖动。任何想法如何做到这一点?
      • 你知道这在床单上是否可行吗?
      • @TimS 我认为这是可能的,但我对ArrayFormula 不是很好,请尝试将您的问题发布在 Google 表格表单上,看看那里的大师是否知道,我可以这样做Google App Scripts,但那是编程解决方案,
      • 你找到答案了吗@TimS
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-08-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-04-10
      • 2012-06-05
      相关资源
      最近更新 更多