Excel: вычислить среднее значение в каждой группе?

Excel: вычислить среднее значение в каждой группе?

Рассмотрим игрушечный набор данных в форме

 A    B
ID values
 1    5
 1    4
 1    3
 2    2
 2    1
 2    2
 3    8
 3    9
 3    7

Итак, есть три группы с идентификаторами: 1,2,3. Мне интересно вычислить среднее значение в каждой группе и получить такой результат.

A       B
ID      averaged
1       6
2       2.5
3       12

Так что количество групп (уникальный идентификатор) будет большим, а количество данных в каждой группе также большим. Есть ли эффективный способ вычисления? Спасибо

решение1

введите описание изображения здесь

Как это работает:

  • Введите эту формулу массива (CSE) в ячейку J11:

    {=IFERROR(INDEX($H$11:$H$24, MATCH(0,COUNTIF($J$10:J10, $H$11:$H$24), 0)),"")}
    

Примечание.Закончите формулу сCtrl+Shift+Enterи залейте.

  • Формула в ячейке K11:

    =IFERROR(AVERAGEIF(H$11:H$24,$J11,I$11:I$24),"")

При необходимости измените ссылки на ячейки в формуле.

решение2

Использование сводной таблицы:

Введите идентификатор в строку, а значения в значение и измените на среднее:

введите описание изображения здесь


Использование динамических формул массива (в настоящее время доступно только для участников программы Office 365 Insiders)

В D2 поместите:

=UNIQUE(A2:A10)

И в E2:

=AVERAGEIFS(B:B,A:A,D2#)

Excel автоматически выполнит сброс значений:

введите описание изображения здесь

Связанный контент