Numeriblog Google Workspace Google Sheets, le tableur surpuissant À la découverte de la fonction =QUERY

À la découverte de la fonction =QUERY

Formule couteau suisse de Google Sheets, c’est certainement l’une des fonctions les plus puissantes du tableur de Google. ​​La fonction QUERY de Google Sheets se trouve parmi les 471 de Google Sheets. Elle fait partie […]

personnes ont consulté cet article

2 minutes

Rédigé par Thierry Vanoffe - il y a 2 ans

Ce que vous allez découvrir

  • Qu’est-ce que la fonction QUERY de Google Sheets ?
  • Comment monter en compétences rapidement sur QUERY ?
  • La syntaxe de la formule QUERY
  • Exemple d'utilisation : la clause SELECT

À la découverte de la fonction =QUERY

Formule couteau suisse de Google Sheets, c’est certainement l’une des fonctions les plus puissantes du tableur de Google.

​​La fonction QUERY de Google Sheets se trouve parmi les 471 de Google Sheets. Elle fait partie de la famille (type) de Google au même titre qu’un =importrange, =sparkline ou encore =arrayformula, d’autres puissantes fonctions du tableur du géant américain que nous aurons l’occasion, cher lecteur, de découvrir dans un prochain livre.

Qu’est-ce que la fonction QUERY de Google Sheets ?

QUERY exécute une requête (écrite dans le langage de l’API Google Visualization) sur les données d’une plage et retourne un tableau de données. Les requêtes sont écrites dans un langage très similaire au SQL.

Le SQL (Structured Query Language) est un langage permettant de communiquer avec une base de données. Ce langage informatique est notamment très utilisé par les développeurs web pour communiquer avec les données d’un site web. Le SQL est une série de mots-clés à mettre dans un certain ordre et permettant de sélectionner des données, selon certaines conditions, en les regroupant selon un certain ordre, en les ordonnant et même en faisant des calculs dessus.

Cette structure peut être assez complexe à appréhender mais s’acquiert assez rapidement lorsque vous avez compris la logique et que vous l’avez pratiquée un minimum.

QUERY est donc une fonction très puissante de Google Sheets et qui permet de renvoyer les données répondant à une ou plusieurs conditions, de grouper, trier, filtrer, pivoter, formater des données, de traiter des dates, des jours, mois ou années, des heures, de calculer des sommes, moyennes ou encore maxi.

Bref, les possibilités sont nombreuses.

Comment monter en compétences rapidement sur QUERY ?

Bonne nouvelle, je vous ai préparé un guide de 80 pages + 62 exercices corrigés qui vous amènera pas à pas à découvrir toutes les clauses relatives à QUERY. Vous pouvez l’acquérir via ce lien (code promo inclus). Ce guide s’appelle 50 nuances de QUERY et permet de balayer toutes les clauses, opérateurs et fonctions dans QUERY.

Chaque exercice de ce guide est expliqué et corrigé.

Image de référence

Voici un exemple :

Ce cours complet sur la fonction QUERY vous permettra d’apprendre à utiliser cette fonction en avançant étape par étape (à chaque nouvelle page, de nouveaux éléments sont ajoutés pour vous permettre d’écrire des requêtes de plus en plus pointues).

La syntaxe de la formule QUERY

Pour bien s’exécuter, la formule QUERY doit avoir une syntaxe stricte. Si vous analysez la fonction QUERY(), vous remarquerez qu’elle demande trois arguments :

=QUERY(données; requête; en-têtes)

  • données : plage de cellules sur laquelle effectuer la requête.
    • Chaque colonne de données ne peut contenir que des valeurs booléennes, des valeurs numériques (y compris différents types de date et heure) ou des valeurs de chaîne.
    • En cas de types de données mixtes dans une seule colonne, le type de données majoritaire détermine le type de données de la colonne, à prendre en compte pour les requêtes. Les types de données minoritaires sont considérés comme des valeurs nulles.
  • requête : requête à exécuter, écrite dans le langage de requête de l’API Google Visualization.

en_têtes[FACULTATIF] : nombre de lignes d’en-tête dans la partie supérieure des données. Si cette valeur est ignorée ou correspond à -1, elle est déduite en fonction du contenu de données. Vous pouvez ici ne rien indiquer, Google détectera la plupart du temps la ligne d’en-tête.

Exemple d’utilisation : la clause SELECT

La première requête, la plus simple, commence par le mot-clé SELECT et est suivie par les données à retourner.

L’objectif pour ce premier exemple sera de retourner la colonne B base de données grâce à la fonction QUERY.

  • « données » : la plage de données dans laquelle se trouve la base de données => BDD!A1:K227
  • « requête » : la requête à exécuter => "SELECT B" (le B signifie la colonne B)
  • « en_têtes » : le nombre de lignes des en-têtes (généralement 1), laissez vide pour déterminer automatiquement le nombre de lignes des en-têtes en fonction des données

La formule est ici =QUERY(BD!A1:G1=QUERY(BDD!A1:K227 ;"SELECT B"))  et retourne bien uniquement la colonne B de la base de données (voir image un peu plus haut dans l’article).

Besoin d'un peu plus d'aide sur Sheets ?

Des formateurs sont disponibles toute l'année pour vous accompagner et optimiser votre utilisation de Sheets, que ce soit pour votre entreprise ou pour vos besoins personnels !

Découvrir nos formations Sheets

Articles similaires

  • Articles connexes
  • Plus de l'auteur

Rédacteur

Photo de profil de l'auteur
Thierry Vanoffe

Thierry VANOFFE, consultant, formateur, coach Google Workspace CEO de Numericoach, leader de la formation Google Workspace en France. Passionné par Google, ce blog me permet de partager cette passion et distiller tutos, trucs, astuces, guides sur les outils Google. N'hésitez pas à me solliciter pour vos projets de formation.

S’abonner
Notification pour
1 Commentaire
Le plus ancien
Le plus récent Le plus populaire
Commentaires en ligne
Afficher tous les commentaires
frantz

Bonjour,
je voudrais mettre cette formule en une fois je crois concatener.
QUERY(A1:BV1001, »SELECT A, B, G, R, AJ, AU, I, J, K, L, Y, Z, AA, AB, AC, AD, AE, AF WHERE (R 6) ORDER BY R ASC »)
et
QUERY(A1:BV1001, »SELECT A, B, G, R, AJ, AU, AL, AM, AN, AO, BB, BC, BD, BE, BF, BG, BH, BI WHERE (AU 6) ORDER BY AU ASC « )
Quite a vous remunerer. Merci