Формула Excel: Считайте дни рождения по месяцам -

Содержание

Общая формула

=SUMPRODUCT(--(MONTH(birthday)=number))

Резюме

Чтобы подсчитать количество дней рождения в списке, вы можете использовать формулу, основанную на функциях СУММПРОИЗВ и МЕСЯЦ. В показанном примере E5 содержит эту формулу:

=SUMPRODUCT(--(MONTH(birthday)=D5))

Эта формула считает дни рождения в январе (поскольку D5 содержит 1) в именованном диапазоне «дни рождения» (B5: B104).

Объяснение

Вы могли подумать, что можете использовать функцию СЧЁТЕСЛИ для подсчета дней рождения, но проблема в том, что СЧЁТЕСЛИ работает только с диапазонами и не позволит вам использовать что-то вроде МЕСЯЦА для извлечения только номера месяца из дат. Итак, вместо этого мы используем СУММПРОИЗВ.

Внутри SUMPRODUCT у нас есть это выражение:

MONTH(birthday)=D5)

Функция МЕСЯЦ извлекает месяц для каждой даты в названном диапазоне "дни рождения", и это сравнивается со значением в D5, равным 1. Результатом является массив значений ИСТИНА / ЛОЖЬ, где каждое ИСТИНА представляет дату, где месяц = 1.

Затем значения TRUE FALSE преобразуются в единицы и нули с двойным отрицательным знаком (-). СУММПРОИЗВ суммирует эти числа и возвращает окончательный результат.

Работа с пустыми ячейками

Если у вас есть пустые ячейки в списке дней рождения, вы получите неверные результаты, так как МЕСЯЦ (0) возвращает 1. Для обработки пустых ячеек вы можете настроить формулу следующим образом:

=SUMPRODUCT((MONTH(birthdays)=D5)*(birthdays""))

Умножение на выражение (дни рождения "") эффективно отменяет значения месяца для пустых ячеек. См. Страницу SUMPRODUCT для получения дополнительной информации о том, как логические выражения работают внутри SUMPRODUCT.

Решение для сводной таблицы

Сводная таблица также является отличным решением этой проблемы.

Интересные статьи...