Diviser en colonnes et catégoriser – Formule Google Sheets

Bienvenue à tous les amateurs de Google Sheets ! Aujourd’hui, je vais vous partager une astuce géniale pour diviser des valeurs en colonnes et les catégoriser facilement dans Google Sheets.

Le problème:

Imaginons que vous ayez une catégorie dans la cellule A1 et que vous souhaitiez entrer les éléments correspondant à cette catégorie dans la cellule B1, en utilisant des valeurs séparées par des virgules.

Split to Column and Categorize - Problème

La solution:

Heureusement, j’ai une formule magique qui vous permettra de diviser ces valeurs en colonnes et de les catégoriser en un clin d’œil. Voici comment ça fonctionne :

=Query(ArrayFormula(TRIM(split(transpose(split(textjoin("^",1,if(len(B1:B),REGEXREPLACE(B1:B,",",","^"&A1:A&","),)),",")),"^"))),"Select Col2,Col1")

Mais attendez, ne vous inquiétez pas si cela semble un peu compliqué pour l’instant. Je vais vous expliquer étape par étape comment utiliser cette formule étonnante.

Étape 1:

Commençons par comprendre le rôle de chaque formule utilisée dans cette combinaison. La première étape consiste à utiliser la fonction REGEXREPLACE pour remplacer le délimiteur de virgule par la catégorie correspondante.

=REGEXREPLACE(B1,",",","&A1&",")

Ce qui se passe ici, c’est que nous ajoutons une virgule supplémentaire à la fin du texte séparé par des virgules dans la cellule B1. Cette valeur agit comme la cellule de référence dans la fonction REGEXREPLACE. La fonction REGEXREPLACE remplace toutes les virgules existantes par la catégorie correspondante.

Étape 2:

Maintenant, nous allons utiliser la fonction TEXTJOIN pour regrouper les valeurs de la colonne B en une seule valeur de rangée.

=ArrayFormula(TEXTJOIN("^",1,IF(LEN(B1:B),REGEXREPLACE(B1:B,",",","&A1:A&","),)))

Nous utilisons encore une fois le symbole ^ comme délimiteur pour joindre les rangées. Vous pouvez voir le résultat de cette étape dans l’image ci-dessous.

Joindre les valeurs à l'aide de Textjoin et de l'accent circonflexe comme délimiteur

Étape 3:

Maintenant que nous avons notre valeur de rangée, nous allons diviser et transposer les valeurs en fonction du délimiteur.

=ArrayFormula(transpose(split(textjoin("^",1,IF(LEN(B1:B),REGEXREPLACE(B1:B,",",","&A1:A&","),)),",")))

Cette formule divise les valeurs par la virgule et les transpose en colonne. Vous pouvez voir le résultat de cette étape dans l’image ci-dessous.

Diviser et transposer et délimiteur de virgule

Étape 4:

La dernière étape consiste à diviser et à supprimer les espaces supplémentaires des catégories et des valeurs correspondantes.

=ArrayFormula(TRIM(split(transpose(split(textjoin("^",1,IF(LEN(B1:B),REGEXREPLACE(B1:B,",",","&A1:A&","),)),",")),"^")))

Cette formule est suffisante pour diviser les valeurs séparées par des virgules en colonnes et les catégoriser. Cependant, cette formule renvoie d’abord la colonne des valeurs, puis la colonne des catégories, ce qui semble absurde.

Étape 5:

Pour réorganiser les colonnes, nous allons utiliser la fonction QUERY.

=Query(ArrayFormula(TRIM(split(transpose(split(textjoin("^",1,IF(LEN(B1:B),REGEXREPLACE(B1:B,",",","&A1:A&","),)),",")),"^"))),"Select Col2,Col1")

Et voilà ! Maintenant, vos valeurs sont divisées en colonnes et catégorisées dans Google Sheets. Cela fonctionne également avec des catégories et des valeurs sur plusieurs rangées, il vous suffit de coller la formule sur les rangées appropriées.

N’est-ce pas incroyablement utile ? Maintenant, vous pouvez organiser et catégoriser vos données de manière plus efficace que jamais. J’espère que cette astuce vous sera utile dans vos projets futurs !

Si vous voulez en savoir plus sur les fonctions de Google Sheets, n’hésitez pas à consulter le guide des fonctions Sheets sur Crawlan.com.

Merci de nous avoir rejoints et à bientôt pour de nouvelles astuces Sheets passionnantes !

Article traduit et adapté de InfoInspired.com.

Articles en lien