Comment extraire des valeurs uniques d’une liste séparée par des virgules dans Google Sheets

Il est très facile d’extraire des valeurs uniques d’une liste séparée par des virgules dans Google Sheets. Cette liste séparée par des virgules peut être constituée d’adresses e-mail, de noms de personnes, de produits, de codes d’articles ou quelque chose de similaire.

Une liste sans doublons est facile à générer en utilisant la fonction UNIQUE dans Google Sheets. La fonction SORTN fera également la même chose de manière beaucoup plus efficace ! Mais que faire avec une liste séparée par des virgules ?

Pour extraire des valeurs uniques d’une liste séparée par des virgules, nous pouvons utiliser les fonctions SPLIT et TEXTJOIN/JOIN ainsi que UNIQUE. C’est ce que je vais expliquer ici, dans ce nouveau tutoriel sur Google Spreadsheets.

Dans l’exemple ci-dessous, j’ai quelques fournitures de bureau générales dans la colonne A. Dans cette colonne, certains articles de papeterie sont séparés par des virgules et d’autres ne le sont pas. De plus, la liste contient également des doublons.

Dans la colonne B, vous pouvez voir la liste unique que j’ai extraite de la colonne A.

Extract Unique Values from a Comma Separated List

S’il n’y a pas de valeur séparée par des virgules, nous pouvons simplement utiliser la fonction UNIQUE comme ci-dessous :

=unique(A2:A)

Extraction de valeurs uniques d’une liste séparée par des virgules dans Google Sheets

Voici la formule que j’ai utilisée pour extraire les fournitures de bureau générales uniques :

=sort(unique(TRIM(transpose(split(textjoin("|",true,iferror(split(A2:A,","))),"|")))))

J’ai cette formule dans la cellule B2. Comment cette formule extrait-elle les valeurs uniques d’une liste contenant des chaînes séparées par des virgules ?

Explication de la formule : Extraction de valeurs uniques d’une liste de valeurs séparées par des virgules

Étape 1 :
La fonction SPLIT divise les valeurs séparées par des virgules. Cela donnera une donnée à plusieurs colonnes sans aucune valeur séparée par des virgules. Mais vous devez utiliser SORT, INDEX ou ARRAYFORMULA avec la fonction Split.

Dans notre formule principale, le SORT externe fait cela. J’ai oublié de le mentionner, mais IFERROR est facultatif dans cette formule. Il permet d’éviter les erreurs s’il y a une cellule vide dans la liste.

Étape 2 :
Dans la deuxième étape, nous voulons combiner les données à plusieurs colonnes en une seule cellule. J’ai utilisé la fonction TEXTJOIN.

La fonction JOIN fonctionnera également. Mais la différence est que TEXTJOIN peut exclure les cellules vides, ce qui permet d’éviter l’ajout d’un délimiteur indésirable dans le texte combiné.

J’ai utilisé le symbole de la barre verticale comme délimiteur pour joindre le texte divisé.

Étape 3 :
Ici, j’utilise à nouveau la fonction SPLIT pour diviser le texte joint et le TRANSPOSE en une colonne de données.

Nous avons créé une colonne de données à partir de plusieurs colonnes. C’est l’effet cumulatif des formules des étapes 2 et 3.

Voyez la colonne de données unique ci-dessus. Vous pouvez voir qu’il y a un espace supplémentaire au début de la plupart des valeurs. Donc, UNIQUE ne fonctionnera peut-être pas bien avec ces données.

J’ai donc utilisé la fonction TRIM pour supprimer ces espaces indésirables, puis UNIQUE supprime les doublons.

Vous pouvez suivre cette approche pour extraire des valeurs uniques d’une liste séparée par des virgules dans Google Sheets.

Ressources :

  1. Remplacer plusieurs valeurs séparées par des virgules dans Google Sheets
  2. Comment compter les mots séparés par des virgules dans une cellule dans Google Sheets
  3. Somme, compte, somme cumulative des valeurs séparées par des virgules dans Google Sheets

Articles en lien