![](https://cdn.wiki-base.com/2696663/excel_formula_count_birthdays_by_month__2.png.webp)
Formuła ogólna
=SUMPRODUCT(--(MONTH(birthday)=number))
Podsumowanie
Aby policzyć liczbę urodzin na liście, możesz użyć formuły opartej na funkcjach SUMA.RODUKTU i MIESIĄC. W pokazanym przykładzie E5 zawiera następującą formułę:
=SUMPRODUCT(--(MONTH(birthday)=D5))
Ta formuła zlicza urodziny w styczniu (ponieważ D5 zawiera 1) w nazwanym zakresie „urodziny” (B5: B104).
Wyjaśnienie
Można by pomyśleć, że można użyć funkcji LICZ.JEŻELI do liczenia urodzin, ale problem polega na tym, że LICZ.JEŻELI działa tylko z zakresami i nie pozwala na użycie czegoś takiego jak MIESIĄC do wyodrębnienia tylko numeru miesiąca z dat. Więc zamiast tego używamy SUMPRODUCT.
Wewnątrz SUMPRODUCT mamy to wyrażenie:
MONTH(birthday)=D5)
Funkcja MIESIĄC wyodrębnia miesiąc dla każdej daty z nazwanego zakresu „urodziny” i jest porównywany z wartością w komórce D5, która wynosi 1. Wynikiem jest tablica wartości PRAWDA / FAŁSZ, gdzie każda PRAWDA reprezentuje datę, w której miesiąc = 1.
Wartości PRAWDA FAŁSZ są następnie konwertowane na jedynki i zera z podwójnym ujemnym (-). SUMPRODUCT następnie sumuje te liczby i zwraca wynik końcowy.
Radzenie sobie z pustymi komórkami
Jeśli masz puste komórki na liście urodzin, otrzymasz nieprawidłowe wyniki, ponieważ MIESIĄC (0) zwraca 1. Aby obsłużyć puste komórki, możesz dostosować formułę w następujący sposób:
=SUMPRODUCT((MONTH(birthdays)=D5)*(birthdays""))
Mnożenie przez wyrażenie (urodziny „”) skutecznie anuluje wartości miesiąca dla pustych komórek. Zobacz stronę SUMPRODUCT, aby uzyskać więcej informacji o działaniu wyrażeń logicznych w SUMPRODUCT.
Rozwiązanie tabeli przestawnej
Stół przestawny jest również doskonałym rozwiązaniem tego problemu.