Comment agréger des chaînes de caractères avec Query dans Google Sheets

Par bolamarketing.com

Introduction

Tu as déjà essayé différentes variations de formules pour agréger des chaînes de caractères avec Query dans Google Sheets, mais sans succès ? Ne t’inquiète pas, tu n’es pas le seul ! Sur internet, de nombreuses questions se posent sur l’utilisation des fonctions d’agrégation dans Query pour les chaînes de caractères. Dans cet article, je vais te montrer comment utiliser la fonction d’agrégation MAX avec Query pour atteindre cet objectif.

Agréger des chaînes de caractères dans Google Sheets avec Query – Qu’est-ce que cela signifie ?

Permets-moi de clarifier mon concept à l’aide d’un exemple. Regarde cette capture d’écran. Si cela correspond à tes attentes, continue à lire pour trouver les solutions.

Image

Oui ! J’ai plusieurs solutions pour les données triées et non triées.

Dans cet exemple, la colonne A1:B contient des données réelles sur les gagnantes du concours Miss Monde par pays. Il s’agit de données partielles qui ne concernent que trois pays, afin que tu puisses comprendre clairement l’exemple.

Comme tu peux le voir dans le résultat, les données de la colonne A (noms des pays) ont été regroupées et la valeur correspondante de la colonne B (noms des gagnantes) a été agrégée.

Pour agréger des chaînes de caractères dans Query comme indiqué ci-dessus, tu dois utiliser une colonne d’aide. Si tu ne veux pas utiliser de colonne d’aide, nous pouvons utiliser une colonne d’aide virtuelle !

De plus, la formule diffère selon que les données sont triées ou non. J’ai des solutions pour les deux types de données.

Agréger des chaînes de caractères en utilisant Query avec des données triées dans Google Sheets

Tout d’abord, je vais te montrer une approche utilisant une colonne d’aide. Cela te permettra d’apprendre la formule plus facilement.

Approche de la colonne d’aide :

Nous pouvons continuer avec les mêmes données d’exemple que précédemment.

Étape 1 :
Dans la cellule C2, qui va servir de colonne d’aide, saisis la formule suivante :

=ArrayFormula(if(len(A2:A),row(A2:A)-match(A2:A,A2:A,0),))

Cela remplira les chiffres de manière séquentielle en fonction du groupe de données de la colonne A. Je ne vais pas expliquer comment cette formule fonctionne car j’ai déjà réalisé un tutoriel à ce sujet : Numérotation séquentielle par groupe dans Google Sheets.

Voici une alternative (pour ton information) :

=ARRAYFORMULA(if(len(A2:A),COUNTIFS(A2:A,A2:A,ROW(A2:A),"<="&ROW(A2:A)),))

Étape 2 :
Utilise cette formule Query dans la cellule E2 :

Formule 1 :

=query(query(A2:C,"Select A, max(B) where A is not null group by A Pivot C"),"Select * offset 1",0)

Tu obtiendras le même résultat que celui indiqué dans l’image ci-dessus.

Sans utiliser de colonne d’aide :

Si tu ne veux pas ajouter une colonne supplémentaire pour les chiffres séquentiels, tu peux utiliser la formule suivante directement dans la cellule E2. Cela signifie que l’étape 1 précédente n’est pas nécessaire ici.

Formule 2 :

=ArrayFormula(query(query({A2:B,if(len(A2:A),row(A2:A)-match(A2:A,A2:A,0),)},"Select Col1, max(Col2) where Col1 is not null group by Col1 Pivot Col3"),"Select * offset 1",0))

Tu trouveras la formule de la colonne d’aide dans l’étape 1 dans cette Query.

Agréger des chaînes de caractères en utilisant Query avec des données non triées dans Google Sheets

As-tu du mal à agréger des chaînes de caractères dans une plage de données non triées ? Alors, suis les conseils suivants.

Encore une fois, je n’utilise pas de colonne d’aide.

La formule est la même que la Formule 2 précédente. Mais tu dois envelopper la plage de données avec la fonction SORT à l’intérieur de Query.

Formule 3 :

=ArrayFormula(query(query({sort(A2:B),if(len(A2:A),row(A2:A)-match(sort(A2:A),sort(A2:A),0),)},"Select Col1, max(Col2) where Col1 is not null group by Col1 Pivot Col3"),"Select * offset 1",0))

Pour te permettre de mieux comprendre le résultat de cette formule, j’ai utilisé de nouvelles données d’exemple qui ne sont pas réalistes.

Les nouvelles données d’exemple ne contiennent que quelques lignes et les données ne sont pas triées. Regarde la nouvelle image ci-dessous.

C’est tout. Si tu as plusieurs colonnes dans tes données à agréger, tu peux consulter ce tutoriel : Regrouper plusieurs réponses de formulaire dans Google Sheets. Le titre peut sembler différent, mais le tutoriel est en accord avec la formule précédente.

Pour agréger des chaînes de caractères en utilisant Query dans Google Sheets, utilise l’une des formules ci-dessus (triées/non triées). L’idée générale repose sur l’agrégation maximale des chaînes de caractères et la numérotation séquentielle dans le Pivot.

Retrouve d’autres tutoriels utiles sur notre site :

  1. Déployer les données groupées dans Google Sheets à l’aide de formules
  2. Comment pivoter plusieurs colonnes dans Query dans Google Sheets
  3. Comment obtenir des références de colonnes dynamiques dans Query de Google Sheets
  4. Fonction Datediff dans Query de Google Sheets

Articles en lien