Google Sheets QUERY : pivoter des données

PIVOT

Grâce à PIVOT, il est possible d'ajouter de nouvelles colonnes de résultat à partir de données uniques d'une colonne.


Exemple d'utilisation

L'exemple suivant affiche la somme des messages (E) pour chaque rang (D) :

=QUERY(BD!A1:G15;"SELECT D, SUM(E) GROUP BY D")

google-sheets-fonction-query-format-sum - pivot

Pour afficher les rangs sous forme de colonne (avec une colonne par rang différent) et la somme correspondante au-dessous, entrez :

=QUERY(BD!A1:G15;"SELECT SUM(E) PIVOT D")

google-sheets-fonction-query-pivot - pivot
Dans ce cas, PIVOT a fait pivoter les rangs pour afficher un rang par colonne au lieu d'afficher un rang par ligne.

Il est également possible de modifier les en-têtes :

=QUERY(BD!A1:G15;"SELECT SUM(E) PIVOT D LABEL SUM(E) '(rang)'")

google-sheets-fonction-query-pivot-label - pivot

Exemple d'utilisation avancé

L'exemple suivant affiche la somme des messages (E) pour chaque rang (D) :

=QUERY(BD!A1:G15;"SELECT D, SUM(E) GROUP BY D")

google-sheets-fonction-query-format-sum - pivot

L'objectif cette fois-ci est d'afficher la somme des messages pour chaque rang (D) et pour chaque mois (B).

Pour arriver à ce résultat, il faudra donc pivoter l'une ou l'autre de ces données.

Pour pivoter en fonction des rangs (D), entrez :

=QUERY(BD!A1:G15;"SELECT MONTH(B), SUM(E) GROUP BY MONTH(B) PIVOT D")

google-sheets-fonction-query-pivot-sum-date-month - pivot

Pour pivoter en fonction des mois des dates (B), entrez :

=QUERY(BD!A1:G15;"SELECT D, SUM(E) GROUP BY D PIVOT MONTH(B)")

google-sheets-fonction-query-pivot-group-by - pivot

La même requête avec l'ajout de LABEL et FORMAT :

=QUERY(BD!A1:G15;"SELECT D, SUM(E) GROUP BY D PIVOT MONTH(B) LABEL SUM(E) '/ 2019', D '' FORMAT D 'Rang 0'")

google-sheets-fonction-query-pivot-group-by-label-format - pivot
Télécharger ce cours au format PDF