Passer au contenu principal

Compter des valeurs uniques avec des critères dans Excel

Pour ne compter que des valeurs uniques basées sur un critère spécifié dans une autre colonne, vous pouvez appliquer une formule matricielle basée sur les fonctions SUM, FREQUENCY, MATCH et ROW. Ce guide étape par étape vous aide à passer à travers l'utilisation la plus éprouvante pour les nerfs de la formule.


Comment compter des valeurs uniques avec des critères dans Excel ?

Comme le montre le tableau des produits ci-dessous, il existe des produits en double vendus dans le même magasin à des dates différentes. Maintenant, je souhaite obtenir le nombre unique de produits vendus dans le magasin A, vous pouvez appliquer la formule ci-dessous.

Formules génériques

{=SUM(--(FREQUENCY(IF(range=criteria,MATCH(vals,vals,0)),ROW(vals)-ROW(vals.firstcell)+1)>0))}

Arguments

Catégorie: la plage de cellules contient la valeur par rapport aux critères ;
Critères : les critères sur lesquels vous souhaitez compter les valeurs uniques ;
Vals: la plage de cellules à partir de laquelle vous souhaitez compter les valeurs uniques ;
Vals.firstcell: la première cellule de la plage à partir de laquelle vous souhaitez compter les valeurs uniques.

Remarque : Cette formule doit être saisie sous forme de formule matricielle. Après avoir appliqué la formule, s'il y a des accolades enroulées autour de la formule, une formule matricielle est créée avec succès.

Comment utiliser ces formules?

1. Sélectionnez une cellule vide pour placer le résultat.

2. Entrez la formule ci-dessous, puis appuyez sur la touche Ctrl + Shift + Entrer touches simultanément pour obtenir le résultat.

=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))

Notes: Dans cette formule, E3:E16 est la plage contenant la valeur par rapport aux critères, H3 contient les critères, D3:D16 est la plage contient les valeurs uniques que vous souhaitez compter et D3 est la première cellule de D3:D16. Vous pouvez les modifier selon vos besoins.

Comment fonctionne cette formule?

{=SUM(--(FREQUENCY(IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)),ROW(D3:D16)-ROW(D3)+1)>0))}

  • IF(E3:E16=H3,MATCH(D3:D16,D3:D16,0)):
1) E3:E16=H3: Vérifiez ici si la valeur A existe dans la plage E3:E16, et renvoie VRAI si elle est trouvée, renvoie FAUX sinon. Vous obtiendrez un tableau comme celui-ci {TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;}.
2) CORRESPONDANCE(D3:D16,D3:D16,0): La fonction MATCH obtient le premier emplacement de chaque élément dans la plage D3:D16 et renvoie un tableau comme celui-ci {1;2;3;2;1;1;3;2;1;1;1;2;3; 2}.
  • IF({TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;FALSE;TRUE;FALSE;},{1;2;3;2;1;1;3;2;1;1;1;2;3;2}): Maintenant, pour chaque valeur VRAI dans le tableau 1, nous obtiendrons la position correspondante dans le tableau 2, et pour FAUX, nous obtiendrons FAUX. Ici, vous obtiendrez un nouveau tableau comme {1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE}.
  • LIGNE(D3:D16)-LIGNE(D3)+1: Ici la fonction ROW renvoie le numéro de ligne de référence D3:D16 et D3, et vous obtiendrez {3;4;5;6;7;8;9;10;11;12;13;14;15;16} -{3}+1.
  • Chaque nombre du tableau soustrait le nombre 3 puis ajoute 1 et renvoie finalement {1;2;3;4;5;6;7;8;9;10;11;12;13;14}.
  • FREQUENCY({1;FALSE;FALSE;2;FALSE;FALSE;3;FALSE;FALSE;1;FALSE;FALSE;3;FALSE},{1;2;3;4;5;6;7;8;9;10;11;12;13;14}): Ici, la fonction FREQUENCY renvoie la fréquence de chaque nombre dans un tableau donné : {2;1;2;0;0;0;0;0;0;0;0;0;0;0}.
  • =SUM(--({2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0)):
1) {2;1;2;0;0;0;0;0;0;0;0;0;0;0}>0: chaque nombre du tableau se compare à 0 et renvoie VRAI s'il est supérieur à 0, sinon, renvoie FAUX. Et vous obtiendrez un tableau TRUE FALSE comme celui-ci {TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE};
2) --{VRAI;VRAI;VRAI;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX;FAUX}: Ces deux signes moins convertissent « VRAI » en 1 et « FAUX » en 0. Ici, vous obtiendrez un nouveau tableau sous la forme{1;1;1;0;0;0;0;0;0;0;0;0 ;0;0}.
3) SUM{1;1;1;0;0;0;0;0;0;0;0;0;0;0}: La fonction SUM additionne tous les nombres du tableau et renvoie le résultat final sous la forme 3.

Fonctions connexes

Fonction SOMME Excel
La fonction Excel SUM ajoute des valeurs

Fonction FRÉQUENCE Excel
La fonction Excel FREQUENCY calcule la fréquence d'apparition des valeurs dans une plage de valeurs, puis renvoie un tableau vertical de nombres.

Fonction Excel IF
La fonction Excel IF effectue un test logique simple qui dépend du résultat de la comparaison et renvoie une valeur si un résultat est VRAI ou une autre valeur si le résultat est FAUX.

Fonction Excel MATCH
La fonction Excel MATCH recherche une valeur spécifique dans une plage de cellules et renvoie la position relative de cette valeur.

Fonction Excel ROW
La fonction Excel ROW renvoie le numéro de ligne d'une référence.


Formules associées

Compter le nombre de lignes visibles dans une liste filtrée
Ce tutoriel explique comment compter le nombre de lignes visibles dans une liste filtrée dans Excel avec la fonction SOUS-TOTAL.

Compter des valeurs uniques dans une plage
Ce didacticiel explique comment compter uniquement les valeurs uniques parmi les doublons dans une liste dans Excel avec des formules spécifiées.

Compter les lignes visibles avec des critères
Ce didacticiel fournit des étapes détaillées pour vous aider à compter les lignes visibles avec des critères.

Utiliser COUNTIF sur une plage non contiguë
Ce guide étape par étape montre comment utiliser la fonction countif sur une plage non contiguë dans Excel.


Les meilleurs outils de productivité de bureau

Kutools for Excel - vous aide à vous démarquer de la foule

🤖 Aide à l'IA Kutools: Révolutionner l'analyse des données en s'appuyant sur : Exécution intelligente   |  Générer du code  |  Créer des formules personnalisées  |  Analyser les données et générer des graphiques  |  Invoquer les fonctions Kutools...
Caractéristiques populaires: Rechercher, mettre en évidence ou identifier les doublons  |  Supprimer les lignes vides  |  Combinez des colonnes ou des cellules sans perdre de données  |  Tour sans formule 
Super VRecherche: Plusieurs critères  |  Valeur multiple  |  Sur plusieurs feuilles  |  Recherche floue
Av. La liste déroulante: Liste déroulante facile  |  Liste déroulante dépendante  |  Liste déroulante à sélection multiple
Gestionnaire de colonnes: Ajouter un nombre spécifique de colonnes  |  Déplacer les colonnes  |  Basculer l'état de visibilité des colonnes masquées  Comparer les colonnes à Sélectionnez des cellules identiques et différentes 
Caractéristiques en vedette: Mise au point de la grille  |  Voir Design  |  Grande barre de formule  |  Gestionnaire de classeurs et de feuilles | Centre de ressources (Texte automatique)  |  Sélecteur de date  |  Combiner des feuilles de travail  |  Crypter/déchiffrer les cellules  |  Envoyer des e-mails par liste  |  Super filtre  |  Filtre spécial (filtre gras/italique/barré...) ...
Les 15 meilleurs ensembles d'outils12 Texte Outils (Ajouter du texte, Supprimer les caractères ...)  |  50+ Graphique Types (Diagramme de Gantt ...)  |  40+ Pratique Formules (Calculer l'âge en fonction de l'anniversaire ...)  |  19 Insertion Outils (Insérer le code QR, Insérer une image à partir du chemin ...)  |  12 Conversion Outils (Nombres en mots, Conversion des devises ...)  |  7 Fusionner et fractionner Outils (Lignes de combinaison avancées, Diviser les cellules Excel ...)  |  ... et plus

Kutools pour Excel possède plus de 300 fonctionnalités, Assurez-vous que ce dont vous avez besoin est à portée de clic...

Description


Onglet Office - Activer la lecture et l'édition par onglets dans Microsoft Office (y compris Excel)

  • Une seconde pour basculer entre des dizaines de documents ouverts!
  • Réduisez chaque jour des centaines de clics de souris, dites adieu à la souris.
  • Augmente votre productivité de 50% lors de l'affichage et de l'édition de plusieurs documents.
  • Apporte des onglets efficaces à Office (y compris Excel), tout comme Chrome, Edge et Firefox.
Comments (1)
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
Looking for the same formula but with one more criteria... I tried adding AND() after the IF() to have my two criterias but it didn't work. Do you have a solution?
There are no comments posted here yet
Please leave your comments in English
Posting as Guest
×
Rate this post:
0   Characters
Suggested Locations