Обновить

Условная агрегация

Пусть есть таблица со всеми сотрудниками компании. Как найти общее число инженеров? С этой задачей справляется функция COUNTIFS (в формулах используются табличные ссылки):

=COUNTIFS(Сотрудники[Должность];"Инженер")

Мы передаём в функцию столбец «Должность» и просим посчитать количество ячеек, содержащих значение «Инженер».

В отличие от поиска, можно легко комбинировать несколько условий. Следующая формула считает количество инженеров в Москве:

=COUNTIFS(Сотрудники[Должность];"Инженер";Сотрудники[Город];"Москва")

Если нужно посчитать не количество, а сумму окладов всех инженеров, пригодится функция SUMIFS:

=SUMIFS(Сотрудники[Оклад];Сотрудники[Должность];"Инженер")

Здесь первым параметром передаётся столбец, который будем суммировать, а дальше условия для выборки. Аналогично работают функции MINIFS и MAXIFS.

Иногда возникает необходимость в более сложной агрегации. Например, нужно склеить имена инженеров через запятую. Специальных формул для такой операции нет. Как быть? В такой ситуации можно сначала выбрать нужные записи с помощью FILTER и потом склеить через JOIN:

=JOIN(", ";FILTER(Сотрудники[Имя];Сотрудники[Должность]="Инженер"))

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

Теги:
0
Комментарии0

Публикации