2

Поэтому я работаю с большим набором данных. Вот картина первых нескольких строчек.

Вот

Примерно через каждые 50 строк номер цикла увеличивается на 1. Тем не менее, программа, которая используется для сбора данных, иногда пропускает сбор, заканчиваясь 49 баллами за цикл против 50 баллов за цикл.

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

Я использовал:

AVERAGE(OFFSET($A$2,(ROW()-2)*50,0,50,1))

но я не могу понять, как сделать это динамическим, когда количество строк в каждом цикле изменяется.

1 ответ1

1

Если у вас Office 365 или Office 2019, вы можете использовать AverageIf().

=AVERAGEIF($A$2:$A$10,A2,$B$2:$B$10)

В более ранних версиях Excel, которые не имеют этой функции, вы можете использовать этот подход:

=AVERAGE(INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,0)):INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,1)))

На скриншоте показаны обе формулы в действии.

Изменить: если вы хотите, чтобы среднее значение отображалось только в строке с новым номером цикла, включите всю формулу в оператор IF, например

=if(A2<>A1,AVERAGE(INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,0)):INDEX($B$2:$B$10,MATCH(A2,$A$2:$A$10,1))),"")

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .