Formule Excel: compter les anniversaires par mois -

Table des matières

Formule générique

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

Sommaire

Pour compter le nombre d'anniversaires dans une liste, vous pouvez utiliser une formule basée sur les fonctions SUMPRODUCT et MONTH. Dans l'exemple illustré, E5 contient cette formule:

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

Cette formule compte les anniversaires en janvier (puisque D5 contient 1) dans la plage nommée «anniversaires» (B5: B104).

Explication

Vous pourriez penser que vous pourriez utiliser la fonction COUNTIF pour compter les anniversaires, mais le problème est que COUNTIF ne fonctionne qu'avec des plages et ne vous permettra pas d'utiliser quelque chose comme MONTH pour extraire uniquement le numéro du mois des dates. Donc, nous utilisons SUMPRODUCT à la place.

À l'intérieur de SUMPRODUCT, nous avons cette expression:

MONTH(birthday)=D5)

La fonction MONTH extrait le mois pour chaque date dans la plage nommée "anniversaires", et ceci est comparé à la valeur dans D5, qui est 1. Le résultat est un tableau de valeurs TRUE / FALSE où chaque TRUE représente une date où mois = 1.

Les valeurs TRUE FALSE sont ensuite converties en uns et en zéros avec le double négatif (-). SUMPRODUCT additionne ensuite ces nombres et renvoie un résultat final.

Gérer les cellules vides

Si vous avez des cellules vides dans la liste des anniversaires, vous obtiendrez des résultats incorrects, car MONTH (0) renvoie 1. Pour gérer les cellules vides, vous pouvez ajuster la formule comme suit:

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

La multiplication par l'expression (anniversaires "") annule effectivement les valeurs de mois pour les cellules vides. Consultez la page SUMPRODUCT pour plus d'informations sur le fonctionnement des expressions logiques dans SUMPRODUCT.

Solution de tableau croisé dynamique

Un tableau croisé dynamique est également une excellente solution à ce problème.

Articles intéressants...