Comment compter le nombre d'occurrences par année/trimestre/mois/semaine dans Excel ?
Dans le travail quotidien, l'analyse de données nécessite souvent de résumer le nombre d'enregistrements ou d'événements par périodes, comme compter combien de ventes ont eu lieu chaque mois, suivre la fréquence des activités par semaine, ou analyser les tendances saisonnières par trimestre. Bien que la fonction NB.SI soit couramment utilisée pour compter des données en fonction de critères spécifiques dans Excel, elle peut ne pas toujours être simple à utiliser lorsque vous souhaitez regrouper et compter des dates directement par année, mois, trimestre ou semaine. Pour relever ces défis, cet article présente plusieurs méthodes pratiques et faciles à appliquer pour compter les occurrences par différentes périodes (année, trimestre, mois, semaine, jour de la semaine) dans Excel, vous aidant à résumer et analyser efficacement les données temporelles tout en évitant les erreurs de comptage manuel.
- Compter le nombre d'occurrences par année/mois avec des formules
- Compter le nombre d'occurrences par année/mois/jour de la semaine/jour avec Kutools pour Excel
- Compter le nombre d'occurrences par année/mois/trimestre/heure avec un tableau croisé dynamique
- Macro VBA : Compter les occurrences par année/trimestre/mois/semaine avec un résumé automatisé
- Compter le nombre d'occurrences par semaine avec une formule NO.SEMAINE
Compter le nombre d'occurrences par année/mois avec des formules
Lorsque vous avez besoin de savoir rapidement combien de fois un certain événement s'est produit au cours d'une année ou d'un mois particulier, les formules offrent une approche flexible et dynamique. En utilisant des fonctions de date intégrées avec SOMMEPROD, vous pouvez calculer directement les comptes par année, mois, ou toute combinaison de ceux-ci, rendant votre résumé précis et automatiquement mis à jour lorsque les données sources changent. Cette approche fonctionne bien dans la plupart des tâches d'analyse courantes pour des jeux de données de petite à moyenne taille.
Sélectionnez une cellule vide où vous souhaitez afficher le résultat du décompte, puis entrez la formule suivante :
=SOMMEPROD((MOIS($A$2:$A$24)=F2)*(ANNEE($A$2:$A$24)=$E$2))
Après avoir entré la formule, faites glisser la poignée de recopie automatique de la cellule vers le bas pour appliquer la formule aux autres lignes si nécessaire. Comme illustré ci-dessous :
Remarques et conseils :
- Dans la formule
MOIS($A$2:$A$24)=F2
etANNEE($A$2:$A$24)=$E$2
sont des critères qui correspondent au mois spécifié dans F2 et à l'année dans E2. Mettez à jour les plages et références (telles que A2:A24, E2, F2) pour qu'elles correspondent à la disposition de vos données. - Pour un décompte uniquement par mois, en ignorant l'année, utilisez :
=SOMMEPROD(1*(MOIS($A$2:$A$24)=F2)) - Assurez-vous que la colonne de date contient des valeurs de date Excel réelles, et non des dates formatées en texte pour éviter des erreurs ou des incohérences. Si votre formule renvoie des résultats inattendus, vérifiez à nouveau le formatage des dates.
- Si votre jeu de données est volumineux, envisagez d'utiliser des tableaux croisés dynamiques ou VBA pour des performances accrues et une maintenance plus facile.
Cette méthode convient à la plupart des scénarios nécessitant des statistiques rapides sur les dates et lorsque vous souhaitez que les résultats se mettent à jour automatiquement lors de modifications des données. Cependant, travailler avec plusieurs conditions de regroupement peut rendre les formules complexes et difficiles à maintenir.
Compter le nombre d'occurrences par année/mois/jour de la semaine/jour avec Kutools pour Excel
Si vous avez installé Kutools pour Excel, vous pouvez tirer parti de ses utilitaires intuitifs pour regrouper et compter le nombre d'occurrences par année, mois, jour de la semaine, jour, ou encore des combinaisons comme année & mois ou mois & jour, sans avoir besoin de construire des formules complexes. Cette approche est particulièrement efficace pour les utilisateurs recherchant une solution visuelle et pilotée par menu.
1. Sélectionnez la colonne qui contient vos dates, puis cliquez sur Kutools > Format > Appliquer le format de date. La boîte de dialogue suivante apparaîtra :
2. Dans la boîte de dialogue Appliquer le format de date, choisissez le style de format correspondant à votre besoin de comptage (par exemple, mois, année, jour de la semaine, jour, etc.), puis cliquez sur OK. Par exemple, sélectionnez "Mar" pour un comptage par mois.
3. Tandis que la colonne des dates est toujours sélectionnée, cliquez sur Kutools > En réel. Cette étape convertit toutes les dates en valeurs affichées (par exemple, noms de mois) pour faciliter le regroupement dans les étapes ultérieures.
4. Ensuite, sélectionnez la plage contenant vos noms de groupes convertis et les données associées (telles que les colonnes Montant ou Catégorie). Allez dans Kutools > Texte > Fusion avancée des lignes. Vous verrez l'interface suivante :
5. Dans la boîte de dialogue Fusion avancée des lignes :
(1) Définissez votre colonne de date comme la Clé primaire pour la regrouper.
(2) Pour la colonne que vous souhaitez compter (par exemple, Montant), définissez le calcul à Décompte.
(3) Vous pouvez choisir d'autres méthodes d'agrégation ou de combinaison pour d'autres colonnes (par exemple, combinez les noms de fruits avec une virgule).
(4) Cliquez sur OK pour traiter.
Vos données afficheront désormais le décompte des enregistrements par période sélectionnée. Voir la capture d'écran ci-dessous :
Kutools pour Excel - Boostez Excel avec plus de 300 outils essentiels. Profitez de fonctionnalités IA gratuites en permanence ! Obtenez-le maintenant
Comparé aux formules manuelles, Kutools simplifie le processus, réduit les erreurs humaines, et convient parfaitement aux utilisateurs effectuant fréquemment des comptages groupés et souhaitant éviter la complexité des formules. Il fonctionne bien aussi bien pour les petits que pour les grands ensembles de données. N'oubliez pas de sauvegarder vos données avant de convertir ou combiner des lignes en masse.
Compter le nombre d'occurrences par année/mois/trimestre/heure avec un tableau croisé dynamique
Les tableaux croisés dynamiques offrent une manière puissante et interactive d'analyser de grands ensembles de données et de résumer les occurrences par une ou plusieurs dimensions temporelles — année, mois, trimestre, heure, etc. — avec une interface facile à utiliser par pointeur et clic. Les tableaux croisés dynamiques permettent également une reconfiguration et un filtrage rapides, ce qui les rend idéaux pour explorer les schémas de données ou préparer des rapports de gestion.
1. Sélectionnez votre table de données, puis allez dans Insérer > Tableau croisé dynamique. La boîte de dialogue Créer un tableau croisé dynamique apparaît.
2. Dans la boîte de dialogue, spécifiez où placer le tableau croisé dynamique (nouvelle feuille de calcul ou emplacement existant, tel que la cellule E1), puis cliquez sur OK.
3. Dans le volet Champs du tableau croisé dynamique, faites glisser le champ Date vers la section Lignes et le champ Montant (ou champ cible) vers la section Valeurs. Par défaut, les valeurs peuvent être additionnées.
Le tableau croisé dynamique apparaît comme dans la capture d'écran ci-dessous :
4. Modifiez le calcul des valeurs en un décompte en faisant un clic droit sur le titre de la colonne de valeurs (par exemple, Somme de Montant), puis choisissez Résumer les valeurs par > Décompte.
5. Pour regrouper par périodes supplémentaires (comme mois, année ou trimestre), faites un clic droit sur n'importe quelle cellule dans la colonne Étiquettes de ligne, sélectionnez Grouper, et dans la boîte de dialogue, choisissez les critères de regroupement (comme Mois, Années ou Trimestres), puis cliquez sur OK.
Votre tableau affiche maintenant les décomptes par la ou les périodes sélectionnées :
Note : Le regroupement par plusieurs périodes (par exemple, mois et année) ajoutera des niveaux supplémentaires dans les Étiquettes de ligne. Vous pouvez réorganiser les champs de regroupement (par exemple, déplacer Années sous Date) dans le volet Champs du tableau croisé dynamique pour ajuster votre vue résumée.
Cette approche est idéale pour les grands ensembles de données dynamiques nécessitant un regroupement, une comparaison et un résumé périodiques. Elle convient moins pour des calculs rapides au niveau des cellules ou pour les utilisateurs peu familiers avec les fonctionnalités des tableaux croisés dynamiques.
Macro VBA : Compter les occurrences par année/trimestre/mois/semaine avec un résumé automatisé
Lorsque vous devez générer régulièrement des résumés d'occurrences regroupées par diverses périodes temporelles, ou souhaitez automatiser le processus de comptage pour plus d'efficacité — surtout dans de grands ensembles de données — une macro VBA personnalisée peut être une solution efficace. Cette méthode est hautement adaptée si vous traitez des données régulièrement, produisez des tableaux de synthèse périodiques, ou nécessitez des regroupements personnalisés (tels que des trimestres fiscaux ou des semaines) difficilement réalisables avec des formules ou des tableaux croisés dynamiques.
Étapes complètes de l'opération :
- Effectuez une sauvegarde de votre classeur avant d'exécuter une macro pour la première fois.
- Cliquez sur Développeur > Visual Basic pour ouvrir l'éditeur VBA.
- Cliquez sur Insérer > Module, puis copiez et collez le code ci-dessous dans la fenêtre Module.
Sub CountOccurrencesByPeriod()
Dim lastRow As Long
Dim ws As Worksheet, summaryWs As Worksheet
Dim periodType As String
Dim dict As Object, key As Variant
Dim dateRange As Range, cell As Range
Dim outputRow As Long
On Error Resume Next
xTitleId = "KutoolsforExcel"
Set ws = Application.ActiveSheet
Set dateRange = Application.InputBox("Select date range:", xTitleId, Selection.Address, Type:=8)
periodType = Application.InputBox("Count by (Year/Quarter/Month/Week):", xTitleId, "Month", Type:=2)
If dateRange Is Nothing Or periodType = "" Then Exit Sub
Set dict = CreateObject("Scripting.Dictionary")
For Each cell In dateRange
If IsDate(cell.Value) Then
Select Case LCase(periodType)
Case "year"
key = Year(cell.Value)
Case "quarter"
key = "Q" & WorksheetFunction.RoundUp(Month(cell.Value) / 3, 0) & " " & Year(cell.Value)
Case "month"
key = Format(cell.Value, "yyyy-mm")
Case "week"
key = "W" & WorksheetFunction.WeekNum(cell.Value) & " " & Year(cell.Value)
Case Else
key = Format(cell.Value, "yyyy-mm")
End Select
If dict.Exists(key) Then
dict(key) = dict(key) + 1
Else
dict.Add key, 1
End If
End If
Next cell
Set summaryWs = Worksheets.Add(After:=ws)
summaryWs.Name = "Occurrence_Summary"
summaryWs.Range("A1").Value = "Period"
summaryWs.Range("B1").Value = "Occurrences"
outputRow = 2
For Each key In dict.Keys
summaryWs.Cells(outputRow, 1).Value = key
summaryWs.Cells(outputRow, 2).Value = dict(key)
outputRow = outputRow + 1
Next key
MsgBox "Summary completed in sheet 'Occurrence_Summary'.", vbInformation
End Sub
Après avoir entré le code :
- Retournez dans Excel et appuyez sur Alt+F8, sélectionnez CountOccurrencesByPeriod, puis cliquez sur Exécuter.
- Un message vous demandera de sélectionner la plage de dates à analyser. Sélectionnez la colonne ou la plage pertinente contenant vos dates.
- Un deuxième message vous demande par quelle période regrouper : saisissez "Année", "Trimestre", "Mois" ou "Semaine" (insensible à la casse).
- La macro générera une nouvelle feuille de calcul appelée Occurrence_Summary listant chaque période et le décompte des occurrences dans celle-ci.
Résolution des problèmes et conseils :
- Si vous rencontrez un avertissement de sécurité concernant les macros, ajustez les paramètres des macros dans Fichier > Options > Centre de confiance > Paramètres des macros.
- Assurez-vous que votre colonne de date contient des valeurs de date Excel valides ; des chaînes de texte ou des formats mixtes peuvent produire des comptes inexacts ou des erreurs.
- La macro est flexible — saisissez "Trimestre" pour regrouper rapidement les comptes par année et trimestre, ou "Semaine" pour obtenir un résumé hebdomadaire.
- Si vous souhaitez personnaliser la sortie (par exemple, ajouter plus de détails), vous pouvez modifier la macro pour traiter des colonnes supplémentaires ou des règles de calcul.
Cette solution est robuste pour les rapports en série ou les analyses périodiques, mais suppose une connaissance de base de VBA et une bonne gestion de classeur. Si vous souhaitez combiner la visualisation du résumé, envisagez d'utiliser à la fois les tableaux croisés dynamiques et VBA.
Compter le nombre d'occurrences par semaine avec une formule NO.SEMAINE
Compter la fréquence des entrées ou événements par semaine est une exigence courante dans le suivi des ventes, la gestion de projet et l'allocation des ressources. Excel fournit la fonction NO.SEMAINE, qui renvoie le numéro de semaine d'une date donnée dans une année, facilitant ainsi le regroupement des données sur une base hebdomadaire à l'aide de formules.
Scénario applicable : Vous disposez d'une liste de dates (par exemple, données de vente ou présence) et souhaitez compter combien d'entrées tombent dans chaque semaine de l'année. Cette méthode fonctionne bien pour une analyse continue et lorsque vos données changent fréquemment, car le compte se met à jour automatiquement.
1. Dans une colonne vide (par exemple B2), entrez la formule suivante pour calculer le numéro de semaine pour chaque date dans la colonne A :
=WEEKNUM(A2,1)
Le deuxième argument ("1") indique que les semaines commencent le dimanche (changez en "2" si vous voulez que les semaines commencent le lundi). Copiez cette formule vers le bas pour toutes les lignes de vos données de date.
2. Faites une liste des numéros de semaine que vous souhaitez résumer (par exemple, 1, 2, 3, …). Dans une autre cellule vide (disons D2), utilisez la formule suivante pour compter les occurrences pour un numéro de semaine spécifique (en supposant que B2:B24 liste les numéros de semaine et D2 contient la semaine à rechercher) :
=COUNTIF($B$2:$B$24, D2)
Après avoir appuyé sur Entrée, faites glisser cette formule vers le bas pour votre liste de numéros de semaine. Chaque résultat montre le décompte des occurrences pour cette semaine.
Conseils et précautions :
- Si vous souhaitez compter par année et semaine, pour distinguer les entrées à travers différentes années, utilisez :
=SUMPRODUCT((YEAR($A$2:$A$24)=$F$2)*(WEEKNUM($A$2:$A$24,1)=G2))
Où F2 est l'année cible et G2 est le numéro de semaine cible. Ajustez les plages de colonnes et références selon vos besoins. - La numérotation des semaines par la fonction NO.SEMAINE peut varier en fonction du paramètre (système, US/ISO, jour de début choisi).
- Si vous utilisez des numéros de semaine ISO (norme européenne, semaines commençant le lundi et première semaine incluant le premier jeudi), utilisez
=NO.SEMAINE.ISO(A2)
(pour Excel 2013 et versions ultérieures). - Assurez-vous toujours que toutes vos valeurs de date sont au format date Excel valide pour des résultats précis.
Cette méthode est flexible pour les tableaux de données dynamiques et peut être adaptée pour les tableaux de bord, les résumés périodiques, et lorsque vous souhaitez tabuler les comptes par semaine sans utiliser de tableaux croisés dynamiques ou de modules complémentaires supplémentaires.
Démo : Compter le nombre d'occurrences par année/mois/jour de la semaine/jour
Articles connexes :
Compter le nombre de week-ends/jours ouvrables entre deux dates dans Excel
Meilleurs outils de productivité pour Office
Améliorez vos compétences Excel avec Kutools pour Excel, et découvrez une efficacité incomparable. Kutools pour Excel propose plus de300 fonctionnalités avancées pour booster votre productivité et gagner du temps. Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...
Office Tab apporte l’interface par onglets à Office, simplifiant considérablement votre travail.
- Activez la modification et la lecture par onglets dans Word, Excel, PowerPoint, Publisher, Access, Visio et Project.
- Ouvrez et créez plusieurs documents dans de nouveaux onglets de la même fenêtre, plutôt que dans de nouvelles fenêtres.
- Augmente votre productivité de50 % et réduit des centaines de clics de souris chaque jour !
Tous les modules complémentaires Kutools. Une seule installation
La suite Kutools for Office regroupe les modules complémentaires pour Excel, Word, Outlook & PowerPoint ainsi qu’Office Tab Pro, idéal pour les équipes travaillant sur plusieurs applications Office.





- Suite tout-en-un — modules complémentaires Excel, Word, Outlook & PowerPoint + Office Tab Pro
- Un installateur, une licence — installation en quelques minutes (compatible MSI)
- Une synergie optimale — productivité accélérée sur l’ensemble des applications Office
- Essai complet30 jours — sans inscription, ni carte bancaire
- Meilleure valeur — économisez par rapport à l’achat d’add-ins individuels