Arrays googlesheets中带数组公式的滚动求和

Arrays googlesheets中带数组公式的滚动求和,arrays,google-sheets,sum,array-formulas,cumulative-sum,Arrays,Google Sheets,Sum,Array Formulas,Cumulative Sum,我有下面的数据集。Col1是给定的数据,Col2是前5行Col1(含)的滚动和 Date Col1 Col2 01/04/20 2 2 02/04/20 1 3 03/04/20 4 7 04/04/20 7 05/04/20 7 06/04/20 5 10 07/04/20 2 11 08/04/20 7 09/04/20 7 10/04/20 1 8 11/04/

我有下面的数据集。Col1是给定的数据,Col2是前5行Col1(含)的滚动和

Date      Col1  Col2
01/04/20  2     2
02/04/20  1     3 
03/04/20  4     7
04/04/20        7
05/04/20        7
06/04/20  5     10
07/04/20  2     11
08/04/20        7
09/04/20        7
10/04/20  1     8
11/04/20        3
12/04/20        1
13/04/20        1
14/04/20        1
15/04/20  1     1
有没有一种方法可以使用arrayformula来实现这一点,而不是在Col2中的每个单元格中输入一个求和公式

我有一个使用计数,并得到以下解决方案:

=ArrayFormula(filter(countifs(B2:B,">0",row(B2:B),"<="&row(B2:B),row(B2:B),">"&row(B2:B)-5),A2:A<>""))
我是否可以修改此项以用于求和?

尝试:

=ARRAYFORMULA(SUMIF(ROW(B2:B), "<="&ROW(B2:B), B2:B))
尝试:


您可以通过在Google Apps中创建的脚本来实现这一点。要实现此目的,请执行以下步骤:

在电子表格中,选择工具>脚本编辑器以打开绑定到文件的脚本。 在脚本编辑器中复制此函数,并保存项目: 函数SUMROWSinput,number{ var输出=[]; var和; 对于var row=0;row=0;i-{ 如果行-i>=0{ 总和=总和+数字输入[第i行]; } } output.pushsum; } 返回输出; } 现在,如果您返回到电子表格,您可以像使用任何其他函数一样使用此函数。在这种情况下,您只需提供适当的范围,即B2:B16和在此情况下要求和的前几行数,5作为参数,如您所见: 参考:
您可以通过在Google Apps中创建的脚本来实现这一点。要实现此目的,请执行以下步骤:

在电子表格中,选择工具>脚本编辑器以打开绑定到文件的脚本。 在脚本编辑器中复制此函数,并保存项目: 函数SUMROWSinput,number{ var输出=[]; var和; 对于var row=0;row=0;i-{ 如果行-i>=0{ 总和=总和+数字输入[第i行]; } } output.pushsum; } 返回输出; } 现在,如果您返回到电子表格,您可以像使用任何其他函数一样使用此函数。在这种情况下,您只需提供适当的范围,即B2:B16和在此情况下要求和的前几行数,5作为参数,如您所见: 参考:
如果您愿意,也可以通过两个滚动总和的差来实现:

=ArrayFormula(filter(sumif(row(B2:B),"<="&row(B2:B),B2:B)-sumif(row(B2:B),"<="&row(B2:B)-5,B2:B),A2:A<>""))

如果您愿意,也可以通过两个滚动总和的差来实现:

=ArrayFormula(filter(sumif(row(B2:B),"<="&row(B2:B),B2:B)-sumif(row(B2:B),"<="&row(B2:B)-5,B2:B),A2:A<>""))

他们想要最后5行的滚动总和。OP应该在我之前的答案中添加一个链接——现在编辑了这个问题。他们想要最后5行的滚动总和。OP应该给我以前的答案加上一个链接——现在我已经编辑了这个问题,把它包括在内。我也希望用一个简单的平均值来做这个。这和计数的答案类似吗?我也希望用一个简单的平均值来做这件事。这和计数的答案相似吗?