Excel-formel: Räkna födelsedagar per månad -

Innehållsförteckning

Generisk formel

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

Sammanfattning

För att räkna antalet födelsedagar i en lista kan du använda en formel baserad på funktionerna SUMPRODUCT och MONTH. I det visade exemplet innehåller E5 denna formel:

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

Denna formel räknar födelsedagar i januari (eftersom D5 innehåller 1) i det angivna intervallet "födelsedagar" (B5: B104).

Förklaring

Du skulle tro att du kunde använda COUNTIF-funktionen för att räkna födelsedagar, men problemet är att COUNTIF bara fungerar med intervall och låter dig inte använda något som MONTH för att extrahera bara månadsnumret från datum. Så vi använder SUMPRODUCT istället.

Inuti SUMPRODUCT har vi detta uttryck:

MONTH(birthday)=D5)

MONTH-funktionen extraherar månaden för varje datum i det namngivna intervallet "födelsedagar", och detta jämförs med värdet i D5, vilket är 1. Resultatet är en matris med SANT / FALSKA värden där varje SANT representerar ett datum där månad = 1.

De SANTA FALSKA värdena konverteras sedan till enor och nollor med det dubbla negativa (-). SUMPRODUCT summerar sedan dessa siffror och returnerar ett slutresultat.

Att hantera tomma celler

Om du har tomma celler i listan över födelsedagar får du felaktiga resultat, eftersom MONTH (0) returnerar 1. För att hantera tomma celler kan du justera formeln enligt följande:

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

Att multiplicera med uttrycket (födelsedagar "") avbryter effektivt månadsvärden för tomma celler. Se SUMPRODUCT-sidan för mer information om hur logiska uttryck fungerar i SUMPRODUCT.

Pivottabelllösning

En pivottabell är också en utmärkt lösning för detta problem.

Intressanta artiklar...