Скользящий счет с формулой массива в Google Sheets - PullRequest
0 голосов
/ 26 апреля 2020

У меня есть набор данных ниже. Col1 - данные, а Col2 - скользящий счетчик предыдущих 5 строк Col1 (включительно).

Date      Col1  Col2
01/04/20  2     1
02/04/20  1     2 
03/04/20  4     3
04/04/20        3
05/04/20        3
06/04/20  5     3
07/04/20  2     3
08/04/20        2
09/04/20        2
10/04/20  1     3
11/04/20        2
12/04/20        1
13/04/20        1
14/04/20        1
15/04/20  1     1

Есть ли способ использовать массив формул для этого вместо ввода формулы подсчета в каждую ячейку в Col2 идет вниз?

1 Ответ

3 голосов
/ 26 апреля 2020

Вы можете использовать Countifs с условием для строк:

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

при условии, что числа положительны

enter image description here

Кому включить любое число, которое вы можете использовать:

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

Если вы хотите, чтобы в качестве пробелов отображались строки, соответствующие будущим датам, вы можете добавить оператор If:

=ArrayFormula(filter(if(A2:A>today(),"",countifs(isnumber(B2:B),true,row(B2:B),"<="&row(B2:B),row(B2:B),">"&row(B2:B)-5)),A2:A<>""))
...