Table des matières
Cette dernière partie de la série Valeurs uniques d'Excel montre comment obtenir une liste de valeurs distinctes / uniques dans une colonne à l'aide d'une formule, et comment modifier cette formule pour différents ensembles de données. Vous apprendrez également comment obtenir rapidement une liste distincte à l'aide du filtre avancé d'Excel, et comment extraire les lignes uniques avec Duplicate Remover.
Dans quelques articles récents, nous avons abordé différentes méthodes pour compter et trouver des valeurs uniques dans Excel. Si vous avez eu l'occasion de lire ces tutoriels, vous savez déjà comment obtenir une liste unique ou distincte en identifiant, filtrant et copiant. Mais c'est un peu long, et ce n'est de loin pas la seule façon d'extraire des valeurs uniques dans Excel. Vous pouvez le faire beaucoup plus rapidement en utilisant une formule spéciale, et dans un instantJe vais vous montrer cette technique et quelques autres.
Conseil : pour obtenir rapidement des valeurs uniques dans la dernière version d'Excel 365 qui prend en charge les tableaux dynamiques, utilisez la fonction UNIQUE comme expliqué dans le tutoriel ci-dessus.
Comment obtenir des valeurs uniques dans Excel
Pour éviter toute confusion, tout d'abord, mettons-nous d'accord sur ce que nous appelons des valeurs uniques dans Excel. Valeurs uniques sont les valeurs qui n'existent qu'une seule fois dans une liste. Par exemple :
Pour extraire une liste de valeurs uniques dans Excel, utilisez l'une des formules suivantes.
Array formule des valeurs uniques (à remplir en appuyant sur Ctrl + Shift + Enter ) :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1,$A$2:$A$10) + (COUNTIF($A$2:$A$10, $A$2:$A$10)1), 0)), "")
Régulier formule des valeurs uniques (à compléter en appuyant sur Entrée) :
=IFERROR(INDEX($A$2:$A$10, MATCH(0,INDEX(COUNTIF($B$1:B1, $A$2:$A$10)+(COUNTIF($A$2:$A$10, $A$2:$A$10)1),0,0), 0)), "")
Dans les formules ci-dessus, les références suivantes sont utilisées :
- A2:A10 - la liste des sources.
- B1 - la cellule supérieure de la liste unique moins 1. Dans cet exemple, nous commençons la liste unique en B2, et nous fournissons donc B1 à la formule (B2-1=B1). Si votre liste unique commence, par exemple, dans la cellule C3, changez $B$1:B1 en $C$2:C2.
Remarque : comme la formule fait référence à la cellule située au-dessus de la première cellule de la liste unique, qui est généralement l'en-tête de colonne (B1 dans cet exemple), assurez-vous que votre en-tête porte un nom unique qui n'apparaît nulle part ailleurs dans la colonne.
Dans cet exemple, nous extrayons des noms uniques de la colonne A (plus précisément de la plage A2:A20), et la capture d'écran suivante montre la formule de tableau en action :
L'explication détaillée de la logique de la formule est fournie dans une section séparée. Voici comment utiliser la formule pour extraire des valeurs uniques dans vos feuilles de calcul Excel :
- Modifiez l'une des formules en fonction de votre ensemble de données.
- Saisissez la formule dans la première cellule de la liste unique (B2 dans cet exemple).
- Si vous utilisez la formule du tableau, appuyez sur Ctrl + Shift + Enter . Si vous avez opté pour la formule normale, appuyez sur la touche Enter comme d'habitude.
- Puisque les deux formules de valeurs uniques sont encapsulées dans la fonction IFERROR, vous pouvez copier la formule jusqu'à la fin de votre tableau, et elle n'encombrera pas vos données d'erreurs, quel que soit le nombre de valeurs uniques extraites.
Comment obtenir des valeurs distinctes dans Excel (unique + 1ères occurrences en double)
Comme vous l'avez peut-être déjà deviné en lisant le titre de cette section, valeurs distinctes dans Excel sont toutes les valeurs différentes d'une liste, c'est-à-dire les valeurs uniques et les premières instances de valeurs dupliquées. Par exemple :
Pour obtenir une liste distincte dans Excel, utilisez les formules suivantes.
Array formule distincte (il faut appuyer sur Ctrl + Shift + Enter ) :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Régulier formule distincte :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, INDEX(COUNTIF($B$1:B1, $A$2:$A$10), 0, 0), 0)), "")
Où :
- A2:A10 est la liste des sources.
- B1 est la cellule située au-dessus de la première cellule de la liste distincte. Dans cet exemple, la liste distincte commence dans la cellule B2 (c'est la première cellule où vous entrez la formule), vous faites donc référence à B1.
Extraire des valeurs distinctes dans une colonne en ignorant les cellules vides
Si votre liste source contient des cellules vides, la formule distincte que nous venons d'examiner renverrait un zéro pour chaque ligne vide, ce qui pourrait poser problème. Pour y remédier, améliorez encore un peu la formule :
Formule de tableau à extraire valeurs distinctes, à l'exclusion des blancs :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10& ;"") + IF($A$2:$A$10="",1,0), 0)), "")
Obtenez une liste de valeurs textuelles distinctes, sans tenir compte des chiffres et des blancs.
De la même manière, vous pouvez obtenir une liste de valeurs distinctes en excluant les cellules vides et les cellules avec des chiffres :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10& ;"") + IF(ISTEXT($A$2:$A$10)=FALSE,1,0), 0)), "")
Pour rappel, dans les formules ci-dessus, A2:A10 est la liste source, et B1 est la cellule juste au-dessus de la première cellule de la liste distincte.
La capture d'écran suivante montre le résultat des deux formules :
Comment extraire des valeurs distinctes sensibles à la casse dans Excel ?
Lorsque vous travaillez avec des données sensibles à la casse, telles que des mots de passe, des noms d'utilisateur ou des noms de fichier, vous pouvez avoir besoin d'obtenir une liste de valeurs distinctes sensibles à la casse. Pour cela, utilisez la formule de tableau suivante, où A2:A10 est la liste source, et B1 est la cellule située au-dessus de la première cellule de la liste distincte :
Formule de tableau pour obtenir des valeurs distinctes sensibles à la casse (il faut appuyer sur Ctrl + Shift + Enter )
=IFERROR(INDEX($A$2:$A$10, MATCH(0, FREQUENCY(IF(EXACT($A$2:$A$10,TRANSPOSE($B$1:B1)), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), ""), MATCH(ROW($A$2:$A$10), ROW($A$2:$A$10)), 0)), "")
Comment fonctionne la formule unique / distincte
Cette section s'adresse tout particulièrement aux utilisateurs d'Excel curieux et réfléchis qui souhaitent non seulement connaître la formule mais aussi en comprendre tous les rouages.
Il va sans dire que les formules permettant d'extraire des valeurs uniques et distinctes dans Excel ne sont ni triviales ni simples. Mais en y regardant de plus près, vous pouvez remarquer que toutes les formules sont basées sur la même approche - l'utilisation d'INDEX/MATCH en combinaison avec les fonctions COUNTIF, ou COUNTIF + IF.
Pour notre analyse approfondie, nous utiliserons la formule du tableau qui extrait une liste de valeurs distinctes, car toutes les autres formules abordées dans ce tutoriel sont des améliorations ou des variations de cette formule de base :
=IFERROR(INDEX($A$2:$A$10, MATCH(0, COUNTIF($B$1:B1, $A$2:$A$10), 0)), "")
Pour commencer, rejetons l'évidente fonction IFERROR, qui est utilisée dans le seul but d'éliminer les erreurs #N/A lorsque le nombre de cellules où vous avez copié la formule dépasse le nombre de valeurs distinctes dans la liste source.
Et maintenant, décomposons la partie centrale de notre formule distincte :
- COUNTIF(plage, critères) renvoie le nombre de cellules d'une plage qui répondent à une condition spécifiée.
Dans cet exemple, COUNTIF($B$1:B1, $A$2:$A$10) renvoie un tableau de 1 et de 0 selon que l'une des valeurs de la liste source ($A$2:$A$10) apparaît quelque part dans la liste distincte ($B$1:B1). Si la valeur est trouvée, la formule renvoie 1, sinon - 0.
En particulier, dans la cellule B2, COUNTIF($B$1:B1, $A$2:$A$10) devient :
COUNTIF("Distinct", {"Ronnie" ; "David" ; "Sally" ; "Jeremy" ; "Robert" ; "David" ; "Robert" ; "Tom" ; "Sally"})
et les retours :
{0;0;0;0;0;0;0;0;0}
car aucun des éléments du répertoire des sources ( critères ) apparaît dans le gamme où la fonction cherche une correspondance. Dans ce cas, gamme ($B$1:B1) consiste en un seul élément - "Distinct".
MATCH(lookup_value, lookup_array, [match_type])
renvoie la position relative de la valeur de consultation dans le tableau.
Dans cet exemple, la valeur lookup_value est 0, et par conséquent :
MATCH(0,COUNTIF($B$1:B1, $A$2:$A$10), 0)
se transforme en :
MATCH(0, { 0 ;0;0;0;0;0;0;0;0},0)
et retourne
car notre fonction MATCH obtient la première valeur qui est exactement égale à la valeur de référence (comme vous vous en souvenez, la valeur de référence est 0).
Dans cet exemple, INDEX($A$2:$A$10, 1)
devient :
INDEX({"Ronnie" ; "David" ; "Sally" ; "Jeremy" ; "Robert" ; "David" ; "Robert" ; "Tom" ; "Sally"}, 1)
et renvoie "Ronnie".
Lorsque la formule est copiée vers le bas de la colonne, la liste distincte ($B$1:B1) s'étend car la deuxième référence de cellule (B1) est une référence relative qui change en fonction de la position relative de la cellule où la formule se déplace.
Ainsi, lorsqu'il est copié dans la cellule B3, COUNTIF($B$1 : B1 , $A$2:$A$10) devient COUNTIF($B$1 : B2 , $A$2:$A$10), et devient :
COUNTIF({"Distinct" ; "Ronnie"}, {"Ronnie" ; "David" ; "Sally" ; "Jeremy" ; "Robert" ; "David" ; "Robert" ; "Tom" ; "Sally"}), 0)), "")
et les retours :
{1;0;0;0;0;0;0;0;0}
car un "Ronnie" est trouvé dans la plage $B$1:B2.
Et ensuite, MATCH(0,{1 ; 0 ;0;0;0;0;0;0;0},0) renvoie 2, car 2 est la position relative du premier 0 dans le tableau.
Et enfin, INDEX($A$2:$A$10, 2)
renvoie la valeur de la 2ème ligne, qui est "David".
Conseil : pour mieux comprendre la logique de la formule, vous pouvez sélectionner différentes parties de la formule dans la barre de formule et appuyer sur F9 pour voir à quoi correspond une partie sélectionnée :
Si vous avez encore des difficultés à comprendre la formule, vous pouvez consulter le tutoriel suivant pour une explication détaillée du fonctionnement de la liaison INDEX/MATCH : INDEX & ; MATCH as a better alternative to Excel VLOOKUP.
Comme nous l'avons déjà mentionné, les autres formules abordées dans ce tutoriel sont basées sur la même logique, avec seulement quelques modifications :
Formule des valeurs uniques - contient une fonction COUNTIF supplémentaire qui exclut de la liste unique tous les éléments qui apparaissent plus d'une fois dans la liste source : COUNTIF($A$2:$A$10, $A$2:$A$10)1
.
Formule des valeurs distinctes ignorant les blancs - ici, vous ajoutez une fonction IF qui empêche les cellules vides d'être ajoutées à la liste distincte : IF($A$2:$A$13="",1,0)
.
Formule de valeurs de texte distinctes ignorant les nombres - vous utilisez la fonction ISTEXT pour vérifier si une valeur est du texte, et la fonction IF pour écarter tous les autres types de valeurs, y compris les cellules vides : IF(ISTEXT($A$2:$A$13)=FALSE,1,0)
.
Extraire des valeurs distinctes d'une colonne avec le filtre avancé d'Excel
Si vous ne voulez pas perdre de temps à comprendre les arcanes des formules de valeurs distinctes, vous pouvez obtenir rapidement une liste de valeurs distinctes à l'aide du filtre avancé, en suivant les étapes détaillées ci-dessous.
- Sélectionnez la colonne de données dont vous voulez extraire des valeurs distinctes.
- Passez à la Données tab> ; Trier et filtrer et cliquez sur le bouton Avancé bouton :
- Vérifiez Copier vers un autre emplacement bouton radio.
- Dans le Gamme de listes vérifiez que la gamme de sources s'affiche correctement.
- Dans le Copier dans la boîte Gardez à l'esprit que vous ne pouvez copier les données filtrées que dans la cellule de destination. feuille active .
- Sélectionnez le Enregistrements uniques uniquement
Veuillez noter que bien que l'option du filtre avancé soit nommée " Enregistrements uniques uniquement ", il extrait valeurs distinctes c'est-à-dire les valeurs uniques et les premières occurrences des valeurs dupliquées.
Extraire des lignes uniques et distinctes avec Duplicate Remover
Dans la dernière partie de ce tutoriel, permettez-moi de vous montrer notre propre solution pour trouver et extraire des valeurs distinctes et uniques dans les feuilles Excel. Cette solution combine la polyvalence des formules Excel et la simplicité du filtre avancé. En outre, elle fournit quelques fonctionnalités uniques telles que :
- Trouver et extraire rangs uniques / distincts sur la base des valeurs d'une ou plusieurs colonnes.
- Trouvez , mettre en évidence et copie des valeurs uniques à tout autre endroit, dans le même classeur ou dans un autre.
Et maintenant, voyons l'outil Duplicate Remover en action.
Supposons que vous ayez un tableau récapitulatif créé en consolidant les données de plusieurs autres tableaux. De toute évidence, ce tableau récapitulatif contient beaucoup de lignes en double et votre tâche consiste à extraire les lignes uniques qui n'apparaissent dans le tableau qu'une seule fois, ou les lignes distinctes comprenant les occurrences uniques et les 1ers doublons. Quoi qu'il en soit, avec le complément Duplicate Remover, le travail est fait en 5 étapes rapides.
- Sélectionnez n'importe quelle cellule de votre tableau source et cliquez sur le bouton Duplicate Remover sur le bouton Ablebits Data dans l'onglet Déduplication groupe.
L'assistant de suppression des doublons s'exécutera et sélectionnera la table entière. Il suffit donc de cliquer sur Suivant pour passer à l'étape suivante.
- Unique en son genre
- Unique +1ères occurrences (distinct)
Dans cet exemple, nous cherchons à extraire rangs uniques qui n'apparaissent qu'une seule fois dans la table source, nous sélectionnons donc les éléments suivants Unique en son genre option :
Astuce : Comme vous pouvez le voir dans la capture d'écran ci-dessus, il y a également 2 options pour valeurs dupliquées Gardez-le à l'esprit si vous devez déduire une autre feuille de calcul.
Dans cet exemple, nous voulons trouver des lignes uniques basées sur les valeurs des 3 colonnes ( Numéro de commande , Prénom et Nom de famille ), nous sélectionnons donc tous.
- Mettre en évidence les valeurs uniques
- Sélectionnez des valeurs uniques
- Identifier dans une colonne d'état
- Copier vers un autre emplacement
Parce que nous extrayons des lignes uniques, sélectionnez Copier vers un autre emplacement puis indiquez l'endroit exact où vous souhaitez les copier - feuille active (sélectionnez l'icône de la feuille active). Emplacement personnalisé et spécifiez la cellule supérieure de la plage de destination), nouvelle feuille de calcul ou nouveau classeur.
Dans cet exemple, optons pour la nouvelle feuille :
Vous avez aimé ce moyen rapide et simple d'obtenir une liste de valeurs ou de lignes uniques dans Excel ? Si oui, je vous encourage à télécharger une version d'évaluation ci-dessous et à l'essayer. Duplicate Remover ainsi que tous les autres outils permettant de gagner du temps que nous avons sont inclus dans Ultimate Suite for Excel.
Téléchargements disponibles
Trouver des valeurs uniques dans Excel - exemple de classeur (fichier .xlsx)
Ultimate Suite - version d'évaluation (fichier .exe)