
Formule générique
=COUNTA(UNIQUE(data))
Sommaire
Pour compter des valeurs uniques dans un ensemble de données, vous pouvez utiliser la fonction UNIQUE avec la fonction COUNTA. Dans l'exemple illustré, la formule en F5 est:
=COUNTA(UNIQUE(B5:B16))
qui renvoie 7, car il y a sept couleurs uniques dans B5: B16.
Explication
Cet exemple utilise la fonction UNIQUE pour extraire des valeurs uniques. Lorsque UNIQUE est fourni avec la plage B5: B16, qui contient 12 valeurs, il renvoie les 7 valeurs uniques vues dans D5: D11. Ceux-ci sont renvoyés directement à la fonction COUNTA sous forme de tableau comme celui-ci:
=COUNTA(("red";"amber";"green";"blue";"purple";"pink";"gray"))
Contrairement à la fonction COUNT, qui ne compte que les nombres, COUNTA compte à la fois le texte et les nombres. Puisqu'il y a sept éléments dans le tableau, COUNTA renvoie 7. Cette formule est dynamique et recalculera immédiatement lorsque les données source sont modifiées.
Avec une référence de cellule
Vous pouvez également faire référence à une liste de valeurs uniques déjà extraites dans la feuille de calcul avec la fonction UNIQUE en utilisant un type spécial de référence de cellule. La formule en D5 est:
=UNIQUE(B5:B16)
qui renvoie les sept valeurs vues dans D5: D11. Pour compter ces valeurs avec une référence dynamique, vous pouvez utiliser une formule comme celle-ci:
=COUNTA(D5#)
Le caractère de hachage (#) indique à Excel de faire référence à la plage de débordement créée par UNIQUE. Comme la formule tout-en-un ci-dessus, cette formule est dynamique et s'adaptera lorsque des données sont ajoutées ou supprimées de la plage d'origine.
Compter les blancs ignorés uniques
Pour compter les valeurs uniques tout en ignorant les cellules vides, vous pouvez ajouter la fonction FILTRE comme ceci:
=COUNTA(UNIQUE(FILTER(data,data"")))
Cette approche est expliquée plus en détail ici. Vous pouvez également filtrer les valeurs uniques avec des critères.
Pas de données
Une limitation de cette formule est que renvoie incorrectement 1 s'il n'y a aucune valeur dans la plage de données. Cette alternative comptera toutes les valeurs renvoyées par UNIQUE qui ont une longueur supérieure à zéro. En d'autres termes, il comptera toutes les valeurs avec au moins un caractère:
=SUM(--(LEN(UNIQUE(B5:B16))>0))
Ici, la fonction LEN est utilisée pour vérifier la longueur des résultats d'UNIQUE. Les longueurs sont ensuite vérifiées pour voir si elles sont supérieures à zéro et les résultats sont comptés avec la fonction SOMME. Ceci est un exemple de logique booléenne. Cette formule exclura également les cellules vides des résultats.
Plage de sources dynamiques
UNIQUE ne changera pas automatiquement la plage source si des données sont ajoutées ou supprimées. Pour donner à UNIQUE une plage dynamique qui sera automatiquement redimensionnée au besoin, vous pouvez utiliser un tableau Excel ou créer une plage nommée dynamique avec une formule.
Pas de tableaux dynamiques
Si vous utilisez une ancienne version d'Excel sans prise en charge des tableaux dynamiques, voici quelques alternatives.