查找一行中最后 6 个值的滚动平均值
Find Rolling Average of Last 6 values in a row
我在 googlesheet 中有数据,我需要找到连续最后 6 个值的平均值。每周我都会添加另一个数据点,因此我需要它来计算滚动平均值。我尝试使用以下公式计算它:
=iferror(average(offset(CT3,0,max(0,count(CT3:DM3)-6),1,6)),0)
当我使用低于平均值的数据集执行此操作时,计算结果为 7。但实际平均值应为 7.67。有人可以帮忙吗?
sheet中的数据如下:
ARI 16 0 18 5 8 12 11 1 12 3 8 - 11 - - - - - - -
尝试:
=INDEX(AVERAGE(ARRAY_CONSTRAIN(SORT(INDIRECT("A1:"&
ADDRESS(MAX(ISNUMBER(A:A)*ROW(A:A)), 1, )),
SEQUENCE(MAX(ISNUMBER(A:A)*ROW(A:A))), 0), 7, 1)))
更新:
=INDEX(AVERAGE(ARRAY_CONSTRAIN(SORT(FLATTEN(INDIRECT("A1:"&
ADDRESS(1, MAX(ISNUMBER(1:1)*COLUMN(1:1))))),
SEQUENCE(MAX(ISNUMBER(1:1)*COLUMN(1:1))), 0), 7, 1)))
我想知道是否有一种无需排序的方法。对于评论中的示例:
=(sum(E3:X3)-sum(array_constrain(filter(E3:X3,isnumber(E3:X3)),1,count(E3:X3)-4)))/4
我在 googlesheet 中有数据,我需要找到连续最后 6 个值的平均值。每周我都会添加另一个数据点,因此我需要它来计算滚动平均值。我尝试使用以下公式计算它:
=iferror(average(offset(CT3,0,max(0,count(CT3:DM3)-6),1,6)),0)
当我使用低于平均值的数据集执行此操作时,计算结果为 7。但实际平均值应为 7.67。有人可以帮忙吗?
sheet中的数据如下:
ARI 16 0 18 5 8 12 11 1 12 3 8 - 11 - - - - - - -
尝试:
=INDEX(AVERAGE(ARRAY_CONSTRAIN(SORT(INDIRECT("A1:"&
ADDRESS(MAX(ISNUMBER(A:A)*ROW(A:A)), 1, )),
SEQUENCE(MAX(ISNUMBER(A:A)*ROW(A:A))), 0), 7, 1)))
更新:
=INDEX(AVERAGE(ARRAY_CONSTRAIN(SORT(FLATTEN(INDIRECT("A1:"&
ADDRESS(1, MAX(ISNUMBER(1:1)*COLUMN(1:1))))),
SEQUENCE(MAX(ISNUMBER(1:1)*COLUMN(1:1))), 0), 7, 1)))
我想知道是否有一种无需排序的方法。对于评论中的示例:
=(sum(E3:X3)-sum(array_constrain(filter(E3:X3,isnumber(E3:X3)),1,count(E3:X3)-4)))/4