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

Съдържание

Обща формула

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

Обобщение

За да преброите броя на рождените дни в списък, можете да използвате формула, базирана на функциите SUMPRODUCT и MONTH. В показания пример E5 съдържа тази формула:

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

Тази формула отчита рождените дни през януари (тъй като D5 съдържа 1) в посочения диапазон "рождени дни" (B5: B104).

Обяснение

Бихте си помислили, че можете да използвате функцията COUNTIF за броене на рождени дни, но проблемът е, че COUNTIF работи само с диапазони и няма да ви позволи да използвате нещо като МЕСЕЦ, за да извлечете само номера на месеца от датите. Така че вместо това използваме SUMPRODUCT.

Вътре в SUMPRODUCT имаме този израз:

MONTH(birthday)=D5)

Функцията MONTH извлича месеца за всяка дата в посочения диапазон "рождени дни" и това се сравнява със стойността в D5, която е 1. Резултатът е масив от TRUE / FALSE стойности, където всяка TRUE представлява дата, където месец = 1.

След това стойностите TRUE FALSE се преобразуват в единици и нули с двойно отрицателно (-). След това SUMPRODUCT сумира тези числа и връща краен резултат.

Справяне с празни клетки

Ако имате празни клетки в списъка с рождени дни, ще получите неправилни резултати, тъй като MONTH (0) връща 1. За да обработвате празни клетки, можете да настроите формулата, както следва:

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

Умножаването по израза (рождени дни "") ефективно отменя месечните стойности за празни клетки. Вижте страницата SUMPRODUCT за повече информация за това как работят логическите изрази в SUMPRODUCT.

Решение на обобщена таблица

Осева таблица е отлично решение и за този проблем.

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