Table des matières
Vous apprendrez une formule simple pour trouver des valeurs uniques dans une colonne ou une ligne, dans plusieurs colonnes, sur la base de conditions, et bien plus encore.
Dans les versions précédentes d'Excel, l'extraction d'une liste de valeurs uniques était un défi difficile à relever. Nous avons un article spécial qui montre comment trouver les valeurs uniques qui n'apparaissent qu'une seule fois, extraire tous les éléments distincts d'une liste, ignorer les blancs, et plus encore. Chaque tâche a nécessité l'utilisation combinée de plusieurs fonctions et d'une formule de tableau à plusieurs lignes que seuls les gourous d'Excel peuvent pleinement comprendre.
L'introduction de la fonction UNIQUE dans Excel 365 a tout changé ! Ce qui relevait auparavant de la science-friction devient aussi simple que l'ABC. Désormais, il n'est plus nécessaire d'être un expert en formules pour obtenir des valeurs uniques à partir d'une plage, sur la base d'un ou de plusieurs critères, et classer les résultats par ordre alphabétique. Tout est fait avec des formules simples que tout le monde peut lire et adapter à ses propres besoins.
Fonction UNIQUE d'Excel
La fonction UNIQUE d'Excel renvoie une liste de valeurs uniques à partir d'une plage ou d'un tableau. Elle fonctionne avec tous les types de données : texte, nombres, dates, heures, etc.
Cette fonction est classée dans la catégorie des fonctions de tableaux dynamiques. Le résultat est un tableau dynamique qui déborde automatiquement dans les cellules voisines, verticalement ou horizontalement.
La syntaxe de la fonction UNIQUE d'Excel est la suivante :
UNIQUE(tableau, [by_col], [exactly_once])Où :
Array (obligatoire) - la plage ou le tableau à partir duquel les valeurs uniques doivent être retournées.
By_col (facultatif) - une valeur logique indiquant comment comparer les données :
- TRUE - compare les données entre les colonnes.
- FALSE ou omis (par défaut) - compare les données entre les lignes.
Exactement_une fois (facultatif) - une valeur logique qui définit quelles valeurs sont considérées comme uniques :
- TRUE - renvoie des valeurs qui n'apparaissent qu'une seule fois, ce qui est la notion de base de données de l'unique.
- FAUX ou omis (par défaut) - renvoie toutes les valeurs distinctes (différentes) dans la plage ou le tableau.
Remarque : actuellement, la fonction UNIQUE n'est disponible que dans Excel pour Microsoft 365 et Excel 2021. Excel 2019, 2016 et les versions antérieures ne prennent pas en charge les formules de tableau dynamique, la fonction UNIQUE n'est donc pas disponible dans ces versions.
Formule UNIQUE de base dans Excel
Vous trouverez ci-dessous une formule Excel de valeurs uniques dans sa forme la plus simple.
L'objectif est d'extraire une liste de noms uniques de la plage B2:B10. Pour cela, nous entrons la formule suivante dans D2 :
=UNIQUE(B2:B10)
Veuillez noter que les deuxième et troisième arguments sont omis car les valeurs par défaut fonctionnent parfaitement dans notre cas - nous comparons les lignes entre elles et souhaitons renvoyer tous les noms différents dans la plage.
Lorsque vous appuyez sur la touche Entrée pour compléter la formule, Excel affichera le premier nom trouvé dans D2 en déversant les autres noms dans les cellules inférieures. Ainsi, vous avez toutes les valeurs uniques dans une colonne :
Si vos données sont réparties sur les colonnes de B2 à I2, définissez le deuxième argument à TRUE pour comparer les colonnes entre elles :
=UNIQUE(B2:I2,TRUE)
Tapez la formule ci-dessus dans la cellule B4, appuyez sur la touche Entrée et les résultats se répandront horizontalement dans les cellules de droite :
Conseil : pour trouver des valeurs uniques dans un tableau à plusieurs colonnes et les renvoyer dans une colonne ou une ligne, utilisez UNIQUE avec la fonction TOCOL ou TOROW, comme le montrent les exemples ci-dessous :
- Extraire les valeurs uniques d'une plage multi-colonnes dans une colonne
- Extraire les valeurs uniques d'une plage de plusieurs colonnes dans une ligne.
Fonction UNIQUE d'Excel - conseils et notes
UNIQUE est une nouvelle fonction et, comme les autres fonctions de tableau dynamique, elle présente quelques spécificités que vous devez connaître :
- Si le tableau renvoyé par UNIQUE est le résultat final (c'est-à-dire qu'il n'est pas transmis à une autre fonction), Excel crée dynamiquement une plage de taille appropriée et la remplit avec les résultats. La formule doit être saisie uniquement dans le champ une cellule Il est important que vous ayez suffisamment de cellules vides en bas et/ou à droite de la cellule où vous entrez la formule, sinon une erreur #SPILL se produit.
- Les résultats mettre à jour automatiquement lorsque les données sources changent. Toutefois, les nouvelles entrées ajoutées en dehors du tableau référencé ne sont pas incluses dans la formule, à moins que vous ne modifiiez l'attribut tableau Si vous voulez que la tableau pour répondre automatiquement au redimensionnement de la plage source, puis convertir la plage en tableau Excel et utiliser des références structurées, ou créer une plage nommée dynamique.
- Les tableaux dynamiques entre différents fichiers Excel ne fonctionnent que lorsque les deux classeurs sont ouverts Si le classeur source est fermé, une formule UNIQUE liée renvoie une erreur #REF !
- Comme les autres fonctions de tableau dynamique, UNIQUE ne peut être utilisé que dans un tableau normal. gamme Lorsqu'il est placé dans des tableaux Excel, il renvoie une erreur #SPILL !
Comment trouver des valeurs uniques dans Excel - exemples de formules
Les exemples ci-dessous montrent quelques utilisations pratiques de la fonction UNIQUE dans Excel. L'idée principale est d'extraire des valeurs uniques ou de supprimer les doublons, selon votre point de vue, de la manière la plus simple possible.
Extraire les valeurs uniques qui n'apparaissent qu'une seule fois
Pour obtenir une liste de valeurs qui apparaissent dans la plage spécifiée exactement une fois, définissez le troisième argument de UNIQUE à VRAI.
Par exemple, pour extraire une fois les noms qui figurent sur la liste des gagnants, utilisez cette formule :
=UNIQUE(B2:B10,,TRUE)
Où B2:B10 est la plage de la source et le 2ème argument ( par_col ) est FAUX ou omis car nos données sont organisées en lignes.
Trouver des valeurs distinctes qui apparaissent plus d'une fois
Si vous poursuivez un objectif opposé, c'est-à-dire si vous cherchez à obtenir une liste de valeurs qui apparaissent plus d'une fois dans une plage donnée, utilisez alors la fonction UNIQUE avec FILTER et COUNTIF :
UNIQUE(FILTRE( gamme , COUNTIF( gamme , gamme )>1))Par exemple, pour extraire différents noms qui apparaissent plus d'une fois dans B2:B10, vous pouvez utiliser cette formule :
=UNIQUE(FILTER(B2:B10, COUNTIF(B2:B10, B2:B10)>1))
Comment fonctionne cette formule :
Au cœur de la formule, la fonction FILTER filtre les entrées en double sur la base du nombre d'occurrences, renvoyé par la fonction COUNTIF. Dans notre cas, le résultat de COUNTIF est ce tableau de comptes :
{4;1;3;4;4;1;3;4;3}
L'opération de comparaison (>1) change le tableau ci-dessus en valeurs VRAI et FAUX, où VRAI représente les éléments qui apparaissent plus d'une fois :
{VRAI;FAUX;VRAI;VRAI;VRAI;VRAI;FAUX;VRAI;VRAI;VRAI}
Ce tableau est transmis à FILTER en tant que fichier inclure qui indique à la fonction les valeurs à inclure dans le tableau résultant :
{"Andrew" ; "David" ; "Andrew" ; "Andrew" ; "David" ; "Andrew" ; "David"}
Comme vous pouvez le remarquer, seules les valeurs correspondant à VRAI survivent.
Le tableau ci-dessus va dans le tableau de UNIQUE, et après avoir supprimé les doublons, il produit le résultat final :
{"Andrew" ; "David"}
Conseil : de la même manière, vous pouvez filtrer les valeurs uniques qui apparaissent plus de deux fois (>2), plus de trois fois (>3), etc. Pour cela, il suffit de modifier le nombre dans la comparaison logique.
Recherche de valeurs uniques dans plusieurs colonnes (rangées uniques)
Lorsque vous souhaitez comparer deux ou plusieurs colonnes et renvoyer les valeurs uniques entre elles, incluez toutes les colonnes cibles dans le champ tableau argument.
Par exemple, pour obtenir le prénom (colonne A) et le nom (colonne B) des gagnants, nous entrons cette formule dans E2 :
=UNIQUE(A2:B10)
En appuyant sur la touche Entrée, on obtient les résultats suivants :
Pour obtenir rangs uniques c'est-à-dire les entrées présentant la combinaison unique de valeurs dans les colonnes A, B et C, voici la formule à utiliser :
=UNIQUE(A2:C10)
C'est incroyablement simple, n'est-ce pas ? :)
Obtenez une liste de valeurs uniques triées par ordre alphabétique.
Comment classez-vous par ordre alphabétique dans Excel ? En utilisant la fonction de tri ou de filtrage intégrée. Le problème est que vous devez refaire le tri à chaque fois que vos données sources changent, car contrairement aux formules Excel qui se recalculent automatiquement à chaque modification de la feuille de calcul, les fonctions doivent être réappliquées manuellement.
Avec l'introduction des fonctions de tableau dynamique, ce problème a disparu ! Ce que vous devez faire, c'est simplement déformer la fonction SORT autour d'une formule UNIQUE régulière, comme ceci :
SORT(UNIQUE(tableau))Par exemple, pour extraire des valeurs uniques dans les colonnes A à C et classer les résultats de A à Z, utilisez cette formule :
=TRI(UNIQUE(A2:C10))
Par rapport à l'exemple ci-dessus, le résultat est beaucoup plus facile à percevoir et à utiliser. Par exemple, nous pouvons clairement voir qu'Andrew et David ont gagné dans deux sports différents.
Conseil : dans cet exemple, nous avons trié les valeurs de la première colonne de A à Z. Il s'agit des valeurs par défaut de la fonction SORT, c'est pourquoi la fonction facultative tri_index et ordre de tri Si vous souhaitez trier les résultats par une autre colonne ou dans un ordre différent (de Z à A ou du plus grand au plus petit), définissez les deuxième et troisième arguments comme expliqué dans le tutoriel sur la fonction SORT.
Trouver des valeurs uniques dans plusieurs colonnes et les concaténer dans une seule cellule.
Lorsque vous effectuez une recherche dans plusieurs colonnes, la fonction UNIQUE d'Excel produit par défaut chaque valeur dans une cellule distincte. Peut-être trouvez-vous plus pratique d'avoir les résultats dans une seule cellule ?
Pour ce faire, au lieu de faire référence à l'ensemble de la plage, utilisez l'esperluette (& ;) pour concaténer les colonnes et placer le délimiteur souhaité entre elles.
Par exemple, nous concaténons les prénoms de A2:A10 et les noms de famille de B2:B10, en séparant les valeurs par un espace (" ") :
=UNIQUE(A2:A10&" "&B2:B10)
En conséquence, nous avons une liste de noms complets dans une colonne :
Obtenez une liste de valeurs uniques basées sur des critères
Pour extraire des valeurs uniques avec condition, utilisez les fonctions UNIQUE et FILTER d'Excel ensemble :
- La fonction FILTRE limite les données aux seules valeurs qui répondent à la condition.
- La fonction UNIQUE supprime les doublons de la liste filtrée.
Voici la version générique de la formule des valeurs uniques filtrées :
UNIQUE(FILTRE(tableau, critères_plage = critères ))Dans cet exemple, nous allons obtenir une liste de gagnants dans un sport spécifique. Pour commencer, nous entrons le sport qui nous intéresse dans une cellule, par exemple F1, puis nous utilisons la formule ci-dessous pour obtenir les noms uniques :
=UNIQUE(FILTER(A2:B10, C2:C10=F1))
Où A2:B10 est une plage à rechercher des valeurs uniques et C2:C10 est la plage à vérifier pour les critères.
Filtrer les valeurs uniques en fonction de plusieurs critères
Pour filtrer des valeurs uniques avec deux conditions ou plus, utilisez les expressions comme celles présentées ci-dessous pour construire les critères requis pour la fonction FILTER :
UNIQUE(FILTER(tableau, ( critères_gamme1 = critères1 ) * ( critères_gamme2 = critères2 )))Le résultat de la formule est une liste d'entrées uniques pour lesquelles toutes les conditions spécifiées sont VRAIES. En termes d'Excel, cela s'appelle la logique ET.
Pour voir la formule en action, obtenons une liste de gagnants uniques pour le sport en G1 (critère 1) et sous l'âge en G2 (critère 2).
Avec la plage source en A2:B10, les sports en C2:C10 (plage_critère 1) et les âges en D2:D10 (plage_critère 2), la formule prend cette forme :
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Et renvoie exactement les résultats que nous recherchons :
Comment fonctionne cette formule :
Voici une explication de haut niveau de la logique de la formule :
Dans le inclure de la fonction FILTER, vous fournissez deux ou plusieurs paires plage/critères. Le résultat de chaque expression logique est un tableau de valeurs VRAIES et FAUX. La multiplication des tableaux transforme les valeurs logiques en nombres et produit un tableau de 1 et de 0. Comme la multiplication par zéro donne toujours zéro, seules les entrées qui remplissent toutes les conditions ont 1 dans le tableau final. La fonction FILTERfiltre les éléments correspondant à 0 et transmet les résultats à UNIQUE.
Pour plus d'informations, veuillez consulter la section FILTRE avec plusieurs critères utilisant la logique ET.
Filtrer les valeurs uniques avec plusieurs critères OR
Pour obtenir une liste de valeurs uniques basées sur plusieurs critères OR, c'est-à-dire lorsque tel ou tel critère est VRAI, additionnez les expressions logiques au lieu de les multiplier :
UNIQUE(FILTER(tableau, ( critères_gamme1 = critères1 ) + ( critères_gamme2 = critères2 )))Par exemple, pour afficher les gagnants dans l'une ou l'autre des catégories suivantes Soccer ou Hockey vous pouvez utiliser cette formule :
=UNIQUE(FILTER(A2:B10, (C2:C10="Soccer") + (C2:C10="Hockey")))
Si nécessaire, vous pouvez bien sûr saisir les critères dans des cellules séparées et vous référer à ces cellules comme indiqué ci-dessous :
=UNIQUE(FILTER(A2:B10, (C2:C10=G1) + (C2:C10=G2))))
Comment fonctionne cette formule :
Tout comme lorsque vous testez plusieurs critères AND, vous placez plusieurs expressions logiques dans le champ inclure de la fonction FILTER, qui renvoient chacun un tableau de valeurs VRAIES et FAUX. Lorsque ces tableaux sont additionnés, les éléments pour lesquels un ou plusieurs critères sont VRAIS auront la valeur 1, et les éléments pour lesquels tous les critères sont FAUX auront la valeur 0. Par conséquent, toute entrée qui remplit une seule condition se retrouve dans le tableau qui est transmis à UNIQUE.
Pour plus d'informations, veuillez consulter la section FILTRE avec plusieurs critères utilisant la logique OR.
Obtenir des valeurs uniques dans Excel en ignorant les blancs
Si vous travaillez avec un ensemble de données qui contient des vides, une liste d'uniques obtenue à l'aide d'une formule ordinaire aura probablement une cellule vide et/ou une valeur nulle. Cela se produit parce que la fonction UNIQUE d'Excel est conçue pour renvoyer toutes les valeurs distinctes d'une plage, y compris les vides. Ainsi, si votre plage source contient à la fois des zéros et des cellules vides, la liste d'uniques contiendra 2 zéros, l'un représentant un vide.De plus, si les données sources contiennent des chaînes vides renvoyées par une formule, la liste uique comprendra également une chaîne vide ("") qui ressemble visuellement à une cellule vide :
Pour obtenir une liste de valeurs uniques sans blancs, voici ce que vous devez faire :
- Filtrez les cellules vides et les chaînes vides à l'aide de la fonction FILTRE.
- Utilisez la fonction UNIQUE pour limiter les résultats aux seules valeurs uniques.
Sous une forme générique, la formule se présente comme suit :
UNIQUE(FILTRE( gamme , gamme ""))Dans cet exemple, la formule en D2 est :
=UNIQUE(FILTER(B2:B12, B2:B12""))
Le résultat est qu'Excel renvoie une liste de noms uniques sans cellules vides :
Remarque : si les données d'origine contiennent zéros Si l'on utilise la liste unique, une valeur nulle sera incluse dans la liste unique.
Trouver des valeurs uniques dans des colonnes spécifiques
Il peut arriver que vous souhaitiez extraire des valeurs uniques de deux ou plusieurs colonnes qui ne sont pas adjacentes l'une à l'autre. Il peut également arriver que vous souhaitiez réorganiser les colonnes dans la liste résultante. Ces deux tâches peuvent être réalisées à l'aide de la fonction CHOOSE.
UNIQUE(CHOOSE({1,2,...}, gamme1 , gamme2 ))À partir de notre tableau d'exemple, supposons que vous souhaitiez obtenir une liste de gagnants sur la base des valeurs des colonnes A et C et classer les résultats dans cet ordre : d'abord un sport (colonne C), puis un nom de sportif (colonne A). Pour ce faire, nous construisons cette formule :
=UNIQUE(CHOOSE({1,2}, C2:C10, A2:A10))
Et obtenir le résultat suivant :
Comment fonctionne cette formule :
La fonction CHOOSE renvoie un tableau bidimensionnel de valeurs provenant des colonnes spécifiées. Dans notre cas, elle intervertit également l'ordre des colonnes.
{"Basketball", "Andrew" ; "Basketball", "Betty" ; "Volleyball", "David" ; "Basketball", "Andrew" ; "Hockey", "Andrew" ; "Soccer", "Robert" ; "Volleyball", "David" ; "Hockey", "Andrew" ; "Basketball", "David"}
À partir du tableau ci-dessus, la fonction UNIQUE renvoie une liste d'enregistrements uniques.
Trouver des valeurs uniques et gérer les erreurs
Les formules UNIQUE dont nous avons parlé dans ce tutoriel fonctionnent parfaitement... à condition qu'il y ait au moins une valeur qui réponde aux critères spécifiés. Si la formule ne trouve rien, une erreur #CALC ! se produit :
Pour éviter que cela ne se produise, il suffit d'envelopper votre formule dans la fonction IFERROR.
Par exemple, si aucune valeur unique répondant aux critères n'est trouvée, vous pouvez ne rien afficher, c'est-à-dire une chaîne vide ("") :
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
Ou vous pouvez informer clairement vos utilisateurs qu'aucun résultat n'a été trouvé :
=IFERROR(UNIQUE(FILTER(A2:B10, (C2:C10=G1) * (D2:D10
La fonction UNIQUE d'Excel ne fonctionne pas
Comme vous l'avez vu, l'émergence de la fonction UNIQUE a rendu la recherche de valeurs uniques dans Excel incroyablement facile. Si, tout à coup, votre formule donne lieu à une erreur, il est fort probable qu'il s'agisse de l'une des suivantes.
#NAME ? erreur
Se produit si vous utilisez une formule UNIQUE dans une version d'Excel où cette fonction n'est pas prise en charge.
Actuellement, la fonction UNIQUE n'est disponible que dans Excel 365 et 2021. Si vous avez une version différente, vous pouvez trouver une solution appropriée dans ce tutoriel : Comment obtenir des valeurs uniques dans Excel 2019, Excel 2016 et antérieur.
L'erreur #NAME ? dans les versions prises en charge indique que le nom de la fonction est mal orthographié.
#SPILL erreur
Se produit si une ou plusieurs cellules de la plage de déversement ne sont pas complètement vides.
Pour corriger l'erreur, il suffit d'effacer ou de supprimer les cellules non vides. Pour voir exactement quelles cellules sont gênantes, cliquez sur l'indicateur d'erreur, puis sur Sélectionner les cellules obstructives Pour plus d'informations, veuillez consulter le document #SPILL ! error in Excel - causes and fixes.
Voilà comment trouver des valeurs uniques dans Excel. Je vous remercie de votre lecture et j'espère vous voir sur notre blog la semaine prochaine !
Cahier d'exercices à télécharger
Exemples de formules Excel de valeurs uniques (fichier .xlsx)