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

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
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

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

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

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

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