Google Sheets QUERY : compléments

Afin de pouvoir traiter des valeurs booléennes (VRAI, FAUX) et nulles (cellules vides), cette dernière page utilisera une base de données quelque peu différente pour ses exemples :

google-sheets-bd-booleen - complements


Valeurs booléennes

Une base de données peut contenir également des colonnes de valeurs booléennes VRAI ou FAUX (TRUE ou FALSE en anglais). Ce type de valeurs est généralement retourné par une fonction, une formule ou une case à cocher.

Dans cette nouvelle base de données, les colonnes F et G contiennent des valeurs booléennes.

Pour récupérer par exemple toutes les données des utilisateurs inscrits au projet 1 (F = VRAI) et au projet 2 (G = coché/VRAI), entrez :

=QUERY('BD 2'!A1:H15;"SELECT * WHERE F = TRUE AND G = TRUE")

google-sheets-fonction-query-select-true - complements

Ou pour connaître par exemple le nombre d'inscrits pour chaque projet en fonction de l'autre, entrez :

=QUERY('BD 2'!A1:H15;"SELECT F, COUNT(A) GROUP BY F PIVOT G")

google-sheets-fonction-query-select-boolean-group-by-pivot - complements

Cellules vides

Une cellule vide peut être considérée comme une valeur texte vide ('') ou nulle (NULL).

Pour récupérer toutes les données des utilisateurs n'ayant pas renseigné d'adresse email (H), entrez :

=QUERY('BD 2'!A1:H15;"SELECT * WHERE H = ''")

google-sheets-fonction-query-select-cellule-vide - complements

Le test = '' peut être remplacé par IS NULL pour un résultat identique :

=QUERY('BD 2'!A1:H15;"SELECT * WHERE H IS NULL")

google-sheets-fonction-query-select-is-null - complements

Bien qu'avec des cellules vides, l'une ou l'autre des solutions peut être utilisée, notez qu'une valeur texte vide n'est pas égale à la valeur NULL. Dans certains cas particuliers, seule l'une des solutions sera utilisable.

Un exemple (juste pour illustrer cette différence) d'une requête testant la division par 0 pour retourner les données dont le rang (D) ou le nombre de messages (E) est égal à 0 :

=QUERY('BD 2'!A1:H15;"SELECT * WHERE A / D / E IS NULL")

google-sheets-fonction-query-select-division-zero-null - complements

Plage renvoyée par une fonction

Dans tous les exemples de ce cours, la plage de données (contenant la base de données) était une plage de cellules.

Dans certains cas, cette plage de données n'est pas une plage de cellules mais une plage renvoyée par une autre fonction. Dans ce cas, il n'est pas possible d'utiliser les lettres des colonnes dans la requête.

Si la plage spécifiée dans la fonction QUERY n'est pas une plage de cellules, entrez Col suivi du numéro de colonne (au lieu d'utiliser les lettres des colonnes) :

=QUERY(UNIQUE('BD 2'!C1:H15);"SELECT Col1, Col3 WHERE Col4 = TRUE")

google-sheets-fonction-query-unique-col-col1-col2 - complements

Ordre

Pour terminer, retenez l'ordre à respecter pour construire une requête :

SELECT > WHERE > GROUP BY > PIVOT > ORDER BY > LIMIT > OFFSET > LABEL > FORMAT
Télécharger ce cours au format PDF