![](https://cdn.wiki-base.com/2696663/excel_formula_count_birthdays_by_month__2.png.webp)
Yleinen kaava
=SUMPRODUCT(--(MONTH(birthday)=number))
Yhteenveto
Voit laskea syntymäpäivien määrän luettelossa käyttämällä kaavaa, joka perustuu SUMPRODUCT- ja MONTH-funktioihin. Esitetyssä esimerkissä E5 sisältää tämän kaavan:
=SUMPRODUCT(--(MONTH(birthday)=D5))
Tämä kaava laskee tammikuun syntymäpäivät (koska D5 sisältää 1) nimettyyn alueeseen "syntymäpäivät" (B5: B104).
Selitys
Luulisi, että voisit käyttää COUNTIF-toimintoa syntymäpäivien laskemiseen, mutta ongelmana on, että COUNTIF toimii vain alueiden kanssa, eikä anna sinun käyttää MONTH-tyyppistä tapaa purkaa vain kuukauden numero päivämääristä. Joten käytämme sen sijaan SUMPRODUCTia.
SUMPRODUCTin sisällä meillä on tämä ilmaisu:
MONTH(birthday)=D5)
KUUKAUS-funktio poimii kuukauden jokaiselle päivämäärälle nimettyyn alueeseen "syntymäpäivät", ja tätä verrataan D5: n arvoon, joka on 1. Tulos on TOSI / EPÄTOSI-arvot, joissa kukin TOSI edustaa päivämäärää, jossa kuukausi = 1.
TOSI EPÄTOSI -arvot muunnetaan sitten yksiköiksi ja nolliksi kaksinkertaisella negatiivisella (-). SUMPRODUCT summaa sitten nämä luvut ja palauttaa lopputuloksen.
Tyhjien solujen käsittely
Jos syntymäpäiväluettelossa on tyhjiä soluja, saat virheellisiä tuloksia, koska MONTH (0) palauttaa 1. Voit käsitellä tyhjiä soluja kaavaa seuraavasti:
=SUMPRODUCT((MONTH(birthdays)=D5)*(birthdays""))
Kertominen lausekkeella (syntymäpäivät "") poistaa tyhjien solujen kuukausiarvot tehokkaasti. Katso SUMPRODUCT-sivulta lisätietoja loogisten lausekkeiden toiminnasta SUMPRODUCT-sovelluksessa.
Pivot-pöydän ratkaisu
Kääntöpöytä on erinomainen ratkaisu myös tähän ongelmaan.