Среднее сгруппированное в ARRAYFORMULA только за прошедшие даты - PullRequest
0 голосов
/ 28 октября 2019

Мне нужно усреднить значения, которые имеют один и тот же идентификатор и были опубликованы в том же или предыдущих месяцах. Я должен использовать ARRAYFORMULA из-за объема строк.

Это итерация вопроса, который я задал на прошлой неделе: Как использовать AVERAGEIFS в ARRAYFORMULA , который я пробовалчтобы приспособиться к этому, безуспешно.

Поскольку это может немного смущать, я создал этот файл с фиктивными данными. Хотя год и месяц были включены в идентификатор в начале, я разбил их на столбцы, чтобы упростить фильтрацию.

Обратите внимание, что среднее значение за февраль включает значения января с тем же идентификатором, март включает январь, февраль и март,и т. д. Когда год меняется, средний перезапускается. Я полагаю, что это можно сделать путем сравнения значений года (равно) и месяца (равно или ниже), но я не знаю, как вставить компаратор в формулу последнего дня.

Спасибовсе для вашего времени и усилий.

1 Ответ

1 голос
/ 28 октября 2019

Попробуйте:

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&B2:B&C2:C; QUERY({A2:A&B2:B&C2:C\D2:D}; 
 "select Col1,avg(Col2) 
  where Col2 is not null 
  group by Col1 
  label avg(Col2)''"; 0); 2; 0)))

0


или если месяцы не имеют значения, используйте:

=ARRAYFORMULA(IFNA(VLOOKUP(A2:A&B2:B; QUERY({A2:A&B2:B\D2:D}; 
 "select Col1,avg(Col2) 
  where Col2 is not null 
  group by Col1 
  label avg(Col2)''"; 0); 2; 0)))

0

...