【发布时间】:2020-01-22 21:25:50
【问题描述】:
我有一个带有数值的 D 列,在相邻的列上,我想显示最后 7 行相对于当前行的总和。
我尝试了几个变体,其中大多数都受到 StackOverflow 和其他网站的启发,但它们并没有按照我的需要工作。
我认为由于 Offset() 创建了一个范围,因此只需“切片”我需要的范围并将其提供给 sum() 会很简单
ArrayFormula( Sum(Offset(D7:D500,-6,1,7,1)) )
但是,它似乎只计算我放置这个公式的单元格。
我根据自己的情况调整了我在网上找到的潜在解决方案
ArrayFormula(SUMIF(ROW(D7:D500),"<="&ROW(D7:D500),D7:D500))
这个计算前面所有行的总和, 所以我认为使用 SUMIFS() 可以得到我需要的东西,因此
=ArrayFormula(SUMIFS(D7:D500, ROW(D7:D500),"<="&ROW(D7:D500), ROW(D7:D500),">"&ROW(D7:D500)-7))
但是这个是行不通的。 我也尝试使用 Address() 和 Interpret() 创建范围,但似乎它们在 ArrayFormula() 中无法正常工作
我对它还很陌生,所以可能只是我没有正确使用它们。我在这里做错了什么?有没有更好的方法来做到这一点?如果可能的话,我宁愿使用 ArrayFormula(),因为公式将存在于单个单元格中。
【问题讨论】:
-
您能根据您的目的显示示例图片吗?你能解释一下,如果第 3 行中的数组公式,你只会对第 3、4、5、6、7、8、9 行求和吗?
-
还是比在 row7 = sum (row1:Row7), row14 = sum(row8:row14) 等等?
-
您能分享一份您的电子表格副本,以便我们处理一些数据吗?
标签: google-sheets sum google-sheets-formula array-formulas google-sheets-query