我想使用= IFERROR(AVERAGE(B29:H29),“”)的ARRAYFORMULA版本。这是为了计算7列滚动平均值,该平均值将使用数组公式自动拖动。我知道AVERAGE不能与ARRAYFORMULA一起使用,但是我一直在努力寻找其他选择。
答案 0 :(得分:1)
如评论中所述,您可以修改上一个答案。
获取当前数字和后6个数字的移动平均值的另一种方法是,将两个移动总和的差除以这样的计数:
=ArrayFormula(if(C1:1="","",
(sumif(column(C1:1),"<"&column(C1:1)+7,C1:1)-sumif(column(C1:1),"<"&column(C1:1),C1:1))/
countifs(column(C1:1),"<"&column(C1:1)+7,column(C1:1),">="&column(C1:1),C1:1,"<>")))
(您不能使用AVERAGEIFS或SUMIFS,因为它们不适用于数组公式)。
为了完整起见,更常用的移动平均值是从第一个数字开始,然后是前两个数字的平均值,等等:
=ArrayFormula(if(C1:1="","",
(sumif(column(C1:1),"<="&column(C1:1),C1:1)-sumif(column(C1:1),"<="&column(C1:1)-7,C1:1))/
countifs(column(C1:1),"<="&column(C1:1),column(C1:1),">"&column(C1:1)-7,C1:1,"<>")))