KutoolsforOffice — Une solution unique, cinq outils puissants.Faire plus avec moins d'efforts.Soldes de mars : 20 % de réduction

Comment compter le nombre de valeurs uniques dans une plage selon plusieurs critères sous Excel ?

AuteurXiaoyang Date de modification

Dans de nombreux cas concrets, il est souvent nécessaire non seulement de compter des valeurs, mais aussi de déterminer combien d’éléments uniques répondent à certains critères au sein de vos données. Par exemple, vous souhaiterez peut-être connaître le nombre de produits distincts vendus par un commercial donné ou le nombre de commandes uniques passées sur une période précise. Pour traiter efficacement ce type de tâches dans Excel, il est essentiel de maîtriser les formules adaptées, les fonctionnalités avancées telles que les tableaux croisés dynamiques, voire des solutions VBA personnalisées. Dans cet article, nous explorerons plusieurs méthodes pratiques pour compter le nombre de valeurs uniques dans une plage selon un ou plusieurs critères, accompagnées d’instructions détaillées et de conseils utiles.

Compter le nombre de valeurs uniques dans une plage selon un critère

Compter le nombre de valeurs uniques dans une plage selon deux dates données

Compter le nombre de valeurs uniques dans une plage selon deux critères

Compter le nombre de valeurs uniques dans une plage selon trois critères

Compter le nombre de valeurs uniques dans une plage avec Tableau croisé dynamique (Nombre sans doublon, Excel 2013+)

Compter le nombre de valeurs uniques dans une plage avec du code VBA (pour des cas complexes ou automatisés)


flèche bleue vers la bulle droite Compter le nombre de valeurs uniques dans une plage selon un critère

Prenons un cas courant : vous souhaitez savoir combien de produits différents Tom a vendus. Cette méthode est idéale pour les jeux de données simples, lorsque vous devez évaluer l’unicité selon une seule condition — par exemple, les ventes attribuées à une personne précise. Elle est directe, mais exige une utilisation rigoureuse des formules matricielles.

Capture d’écran montrant un jeu de données pour compter les valeurs uniques selon un critère dans Excel

Pour ce scénario, saisissez la formule suivante dans une cellule vide (par exemple, la cellule G2) :

=SUM(IF(«Tom»=$C$2:$C$20,1/(COUNTIFS($C$2:$C$20, «Tom», $A$2:$A$20, $A$2:$A$20)),0))

Après avoir saisi la formule, appuyez sur Ctrl + Maj + Entrée (et non simplement sur Entrée) pour la valider en tant que formule matricielle. Des accolades apparaîtront automatiquement autour de la formule dans la barre de formule, et vous obtiendrez immédiatement le résultat, comme illustré ci-dessous :

Capture d’écran montrant le résultat du comptage des valeurs uniques avec un critère

Remarque:

  • « Tom » est la condition que vous souhaitez appliquer pour filtrer les résultats. Pour plus de flexibilité, vous pouvez remplacer « Tom » par une référence à une autre cellule (par exemple, $F$2).
  • La plage $C$2:$C$20 contient les noms des commerciaux à évaluer.
  • $A$2:$A$20 correspond à la colonne des produits pour lesquels vous souhaitez obtenir des décomptes uniques.
  • Si votre plage de données évolue, pensez à ajuster les références en conséquence.

Conseil : Si vous utilisez Excel 365 ou Excel 2019 et les versions ultérieures, essayez les fonctions UNIQUE et FILTRE pour simplifier vos formules.

Si vous obtenez des erreurs #DIV/0!, vérifiez soigneusement vos critères et assurez-vous que vos plages sont de même longueur.


flèche bleue vers la bulle droite Compter le nombre de valeurs uniques dans une plage selon deux dates données

Lorsque vous devez déterminer le nombre d’éléments uniques dans une plage de dates spécifique — par exemple, tous les produits uniques vendus entre le 1er septembre 2016 et le 30 septembre 2016 — cette approche s’avère particulièrement efficace. Elle est idéale pour analyser des tendances sur des périodes précises, qu’elles soient mensuelles, trimestrielles ou personnalisées (plage de dates). Assurez-vous toutefois que le format des dates corresponde exactement à celui utilisé dans votre feuille de calcul.

Saisissez la formule suivante dans une cellule vide où vous souhaitez afficher le résultat :

=SUM(IF($D$2:$D$20=DATE(2016,9,1)),1/COUNTIFS( $A$2:$A$20, $A$2:$A$20, $D$2:$D$20, «=»&DATE(2016,9,1))),0)

Après avoir saisi la formule, appuyez sur Ctrl + Maj + Entrée pour l’exécuter en tant que formule matricielle. La capture d’écran ci-dessous illustre le résultat obtenu :

Capture d’écran montrant le résultat du comptage des valeurs uniques entre deux dates dans Excel

Remarque:

  • 2016,9,1 et 2016,9,30 sont les dates de début et de fin. Vous pouvez les modifier selon vos besoins ou même utiliser des références de cellules pour créer des filtres dynamiques basés sur des dates.
  • La plage $D$2:$D$20 contient les dates à vérifier.
  • $A$2:$A$20 correspond désormais à la colonne contenant les articles ou produits que vous souhaitez compter de manière unique.
  • Assurez-vous que vos dates sont stockées sous forme de dates Excel valides, et non pas comme des chaînes de texte. Si votre résultat ne s’affiche pas comme prévu, vérifiez le formatage de vos dates ainsi que vos plages.

Conseil : utilisez DATE(année, mois, jour) pour éviter les problèmes liés au formatage régional des dates. Lorsque vous travaillez avec des plages dynamiques, privilégiez les plages nommées pour plus de clarté.


flèche bleue vers la bulle droite Compter le nombre de valeurs uniques dans une plage selon deux critères

Supposons que vous souhaitiez analyser uniquement les produits vendus par Tom en septembre, en combinant un nom et une plage de dates dans votre comptage unique. Ce scénario est courant lors d’évaluations de performance périodiques ou d’analyses segmentées. À mesure que vos critères se multiplient, la formule gagne en complexité, et la précision des données devient encore plus cruciale.

Saisissez la formule ci-dessous dans une cellule vide, par exemple H2 :

=SUM(IF((«Tom»=$C$2:$C$20)*($D$2:$D$20=DATE(2016,9,1))),1/COUNTIFS($C$2:$C$20, «Tom», $A$2:$A$20, $A$2:$A$20, $D$2:$D$20, «=»&DATE(2016,9,1))),0)

Après avoir saisi la formule, validez-la avec Ctrl + Maj + Entrée. Le comptage unique s’affichera immédiatement ; consultez l’illustration suivante :

Capture d’écran montrant le résultat du comptage des valeurs uniques avec deux critères dans Excel

Remarques :

  • « Tom » constitue votre critère de nom, tandis que « 2016,9,1 » et « 2016,9,30 » définissent les bornes de votre plage de dates. Ajustez-les selon vos besoins ou rendez-les dynamiques en utilisant des références de cellules.
  • $C$2:$C$20 correspond à la colonne du personnel (ou d’un autre critère principal) ; $D$2:$D$20 représente la colonne des dates ; $A$2:$A$20 contient les éléments uniques à comptabiliser.
  • Toutes les plages doivent avoir la même longueur pour éviter toute erreur.

Si vous souhaitez utiliser des conditions « ou », par exemple compter les produits uniques vendus par Tom ou dans la région Sud, vous pouvez utiliser la formule suivante. Cela permet d’élargir les conditions de recherche, bien que les résultats puissent se chevaucher si des données correspondent aux deux critères :

=SOMME(--(FREQUENCE(SI((«Tom»=$C$2:$C$20)+(«South»=$B$2:$B$20), COUNTIF($A$2:$A$20, "0))

N’oubliez pas d’appuyer sur Ctrl + Maj + Entrée. Vous obtiendrez les résultats illustrés ci-dessous :

Capture d’écran montrant les valeurs uniques comptées selon une condition « ou » dans Excel

Conseil : Lorsque vous appliquez des critères « OU », attention au risque de double comptage si un même enregistrement remplit les deux conditions. Sur de grands jeux de données, cela peut impacter les performances.


flèche bleue vers la bulle droite Compter le nombre de valeurs uniques dans une plage selon trois critères

Il arrive parfois que votre analyse nécessite trois conditions ou plus, par exemple déterminer les produits uniques vendus par Tom en septembre uniquement dans la région Nord. Cela est courant dans les analyses multidimensionnelles Analyse des données destinées à la création de rapports ou à l’obtention d’informations commerciales ciblées. Une gestion rigoureuse des références est essentielle pour gérer ce type de logique composée.

Saisissez cette formule matricielle dans une cellule vide (par exemple, I2) :

=SUM(IF((«Tom»=$C$2:$C$20)*($D$2:$D$20=DATE(2016,9,1))*(«North»=$B$2:$B$20),1/COUNTIFS($C$2:$C$20, «Tom», $A$2:$A$20, $A$2:$A$20, $D$2:$D$20, «=»&DATE(2016,9,1), $B$2:$B$20, "North")),0)

Appuyez sur Ctrl + Maj + Entrée pour valider. Voici un exemple de résultat à titre indicatif :

Capture d’écran montrant les valeurs uniques comptées selon trois critères dans Excel

Pour les conditions avancées, vérifiez toujours que toutes les plages sont cohérentes et que les types de données (par exemple, date et texte) sont corrects. Les incohérences peuvent entraîner des erreurs ou des résultats trompeurs.

Conseils :

  • Si vous rencontrez des problèmes de performance avec de grands jeux de données, envisagez de fractionner votre formule ou d’utiliser la solution Tableau croisé dynamique d’Excel.
  • Utiliser des plages nommées ou des références de cellules pour tous les critères améliore la lisibilité des formules et réduit les erreurs.
  • Pour une utilisation fréquente, envisagez d’enregistrer ces formules dans des cellules nommées ou des fonctions personnalisées.

flèche bleue vers la bulle droite Compter le nombre de valeurs uniques dans une plage avec Tableau croisé dynamique (comptage distinct, Excel 2013+)

Pour les utilisateurs d’Excel 2013 ou d’une version ultérieure, les tableaux croisés dynamiques offrent une alternative interactive et sans formule pour compter le nombre de valeurs uniques dans une plage selon un ou plusieurs critères. La fonctionnalité **Comptage distinct** permet de résumer et de filtrer efficacement de grands ensembles de données, ce qui rend cette méthode particulièrement adaptée aux environnements dynamiques axés sur la création de rapports. Notez toutefois que les versions antérieures d’Excel ne prennent pas en charge la fonction **Comptage distinct** dans les tableaux croisés dynamiques.

Comment utiliser cette méthode :

  1. Sélectionnez votre jeu de données, puis accédez à Insertion > Tableau croisé dynamique.
  2. Dans la boîte de dialogue « Créer un tableau croisé dynamique », choisissez l’emplacement du tableau croisé dynamique, cochez la case « Ajouter ces données au modèle de données », puis cliquez sur OK.
  3. Faites glisser le champ dont vous souhaitez compter les valeurs uniques (par exemple, Produit) dans la zone Valeurs. Par défaut, il s’affichera sous la forme « Nombre de… ».
  4. Cliquez sur le champ dans la zone Valeurs, puis sélectionnez Paramètres des valeurs.
  5. Dans la boîte de dialogue qui s’ouvre, faites défiler vers le bas et sélectionnez Nombre sans doublon. (Cette option n’est disponible qu’à partir d’Excel 2013 et apparaît uniquement lorsque le tableau croisé dynamique est créé avec l’option « Ajouter ces données au modèle de données » activée.)
  6. Ajoutez vos champs de critères (par exemple : Commercial, Région, Date) aux zones Filtres ou Lignes/Colonnes pour appliquer une ou plusieurs conditions.
  7. Votre tableau croisé dynamique affichera désormais le nombre unique de valeurs filtrées selon vos critères.

Avantages : Très visuel, facile à ajuster sans modifier les formules et parfaitement adapté aux rapports interactifs.

Limites : Non disponible dans Excel 2010 ni dans les versions antérieures ; l’ajout de nouvelles données nécessite une actualisation manuelle du tableau croisé dynamique.

Conseil pratique : Assurez-vous toujours que la plage de données source ne contient pas de doublons au sein d’un même enregistrement, sauf si ceux-ci sont intentionnels. Si l’option « Comptage distinct » n’apparaît pas, recréez le tableau croisé dynamique en cochant l’option « Ajouter ces données au modèle de données ».


flèche bleue vers la bulle droite Compter le nombre de valeurs uniques dans une plage avec code VBA (pour les cas complexes ou automatisés)

Il peut arriver que vous ayez besoin de compter automatiquement le nombre de valeurs uniques dans une plage selon divers critères — notamment lors de la manipulation de très grands jeux de données ou lorsque l’analyse est effectuée fréquemment. Une macro VBA s’impose alors comme la solution idéale, car elle permet de traiter rapidement des logiques complexes, y compris le filtrage multicritères, sans aucune intervention manuelle après sa configuration initiale. Toutefois, le VBA étant plus avancé que les fonctionnalités classiques d’Excel, il convient surtout aux utilisateurs à l’aise avec les macros ou disposant de besoins analytiques réguliers.

Étapes opératoires :

  1. Appuyez sur Alt + F11 pour ouvrir l’éditeur VBA. Dans l’éditeur, sélectionnez Insertion > Module afin de créer un nouveau module.
  2. Copiez et collez le code VBA suivant dans le module :
Sub CountUniqueWithCriteria()
    Dim DataRange As Range
    Dim CriteriaRange As Range
    Dim CriteriaValue As Variant
    Dim Dict As Object
    Dim i As Long
    Dim UniqueCount As Long
    Dim ResultCell As Range
    
    Set Dict = CreateObject("Scripting.Dictionary")
    
    ' Prompt for range settings
    Set DataRange = Application.InputBox("Select data range (items to count):", "KutoolsforExcel", Type:=8)
    Set CriteriaRange = Application.InputBox("Select criteria range (e.g. Salesperson):", "KutoolsforExcel", Type:=8)
    CriteriaValue = Application.InputBox("Enter criteria value:", "KutoolsforExcel", "", Type:=2)
    Set ResultCell = Application.InputBox("Select cell for result output:", "KutoolsforExcel", Type:=8)
    
    On Error Resume Next
    For i = 1 To DataRange.Rows.Count
        If CriteriaRange.Cells(i, 1).Value = CriteriaValue Then
            If Not Dict.Exists(DataRange.Cells(i, 1).Value) Then
                Dict.Add DataRange.Cells(i, 1).Value, 1
            End If
        End If
    Next i
    
    UniqueCount = Dict.Count
    ResultCell.Value = UniqueCount
    
    MsgBox "Unique count for '" & CriteriaValue & "': " & UniqueCount, vbInformation, "KutoolsforExcel"
End Sub
  1. Fermez l’éditeur VBA et revenez à votre feuille de calcul. Appuyez sur Alt + F8, sélectionnez CountUniqueWithCriteria, puis exécutez la macro.
  2. Suivez les invites pour définir les plages et les critères adaptés à vos données. Le résultat s’affichera dans la cellule sélectionnée ainsi que dans une boîte de message.

Explication des paramètres et remarques :

  • Cette macro est actuellement configurée pour un seul critère. Pour l’adapter à plusieurs critères, modifiez la logique If ... Then à l’intérieur de la boucle.
  • Enregistrez toujours votre classeur avant d’exécuter des macros, car les modifications effectuées ne peuvent pas être annulées.
  • Activez les macros dans les paramètres d’Excel si vous rencontrez des erreurs d’exécution.
  • Cette méthode est particulièrement adaptée aux jeux de données volumineux ou fréquemment mis à jour, où les formules manuelles deviendraient rapidement fastidieuses.

Avantages : Hautement personnalisable et automatisable, il gère efficacement les grands jeux de données en évolution — idéal pour les flux de travail avancés ou récurrents.

Inconvénients : Nécessite l’autorisation d’exécuter des macros, et les débutants peuvent avoir besoin de temps pour se familiariser avec les opérations VBA.


Lorsque vous comptez des valeurs uniques selon des critères, vérifiez toujours vos références de plage et assurez-vous que toutes les colonnes de critères ont la même taille. Les plages incohérentes sont une source fréquente d’erreurs ou de résultats incorrects. Si les formules renvoient des résultats inattendus, recherchez d’éventuels problèmes de mise en forme masqués ou des cellules vides. Dans les scénarios sensibles aux performances, Tableau croisé dynamique et le VBA constituent des alternatives robustes aux formules matricielles. Choisissez la solution la mieux adaptée à votre niveau de maîtrise et à la complexité de votre jeu de données. N’oubliez pas que Kutools pour Excel propose des utilitaires et des raccourcis supplémentaires pouvant simplifier bon nombre de ces tâches, améliorant ainsi encore davantage l’efficacité dans les classeurs complexes.

Meilleurs outils de productivité Office

🤖Kutools IA Aide: Révolutionnez Analyse des données grâce à :Exécution intelligente   |  Générez du code|  Créez formules personnalisées  |  Analysez des données et générez des graphiques|  Appelez Fonctions améliorées
Fonctionnalités populaires:Rechercher, mettre en surbrillance ou Marquer les doublons   |  Supprimer les lignes vides   |  Combinez les colonnes ou cellules sans perdre de données   |   Arrondi sans utiliser de formule...
Super RECHERCHEV:RechercheValeurs avec critères multiples  |  RechercheValeurs avec valeurs multiples  |   RechercheValeurs dans plusieurs feuilles   |   Correspondance floue....
Liste déroulante avancée:Créez rapidement une liste déroulante   |  Liste déroulante dépendante   |  Liste déroulante à sélection multiple....
Gestionnaire de colonnes:Ajouter un nombre précis de colonnes|Déplacer des colonnes|Basculer la visibilité des colonnes masquées|Comparer des plages et des colonnes...
Fonctionnalités vedettes:Mise au point de la grille   |  Vue de conception   |Barre de formule améliorée   | Gestionnaire de classeurs et de feuilles   |  Bibliothèque de ressources(Texte automatique)|  Sélecteur de date   |  Consolider les feuilles de calcul  |  Chiffrer/Déchiffrer les cellules   | Envoyer des e-mails par liste   |  Super Filtre   |   Filtre spécial(Filtrer les cellules avec une police en gras/italique/barré...) ...
… et bien plus encore… et plus encore:(,)Supprimer des caractères spécifiques, ...)|   50+Typesde graphiques(, ...)|   40+ Formules pratiques(Calculer l'âge en fonction de la date de naissance, ...)|   19 Outils d’insertion(,Insérer une image depuis un chemin , ...)|   de conversion (Convertir en mots,Conversion de devises, ...)|Fusionner et scinder   (Fusion avancée des lignes,Diviser les cellules , ...)|, ...)   |
Utilisez Kutools dans la langue de votre choix – disponible en anglais, espagnol, allemand, français, chinois et 40+ autres langues !

Boostez vos compétences Excel avec Kutools pour Excel et découvrez une efficacité inégalée.Kutools pour Excel propose plus de 300 fonctionnalités avancées pour améliorer votre productivité et Gagner du temps.Cliquez ici pour obtenir la fonctionnalité dont vous avez le plus besoin...


Office Tab apporte une interface à onglets à Office et rend votre travail bien plus facile

  • Activez l’édition 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é de 50 % et vous fait économiser des centaines de clics de souris chaque jour !

Tous les compléments Kutools. Un seul installateur

Kutools for Office regroupe les compléments pour Excel, Word, Outlook et PowerPoint, ainsi que Office Tab Pro, ce qui en fait le choix idéal pour les équipes travaillant à travers les applications Office.

ExcelWordOutlookTabsPowerPoint
  • Suite tout-en-un— Compléments Excel, Word, Outlook et PowerPoint + Office Tab Pro
  • Un seul installateur, une seule licence— installation en quelques minutes (compatible MSI)
  • Fonctionne mieux ensemble— productivité optimisée dans toutes les applications Office
  • Essai gratuit de 30 jours avec toutes les fonctionnalités— aucune inscription, aucune carte bancaire
  • Meilleur rapport qualité-prix— économisez par rapport à l’achat de compléments individuels