Numeriblog Google Workspace Google Sheets, le tableur surpuissant Google Sheets : comment transformer un tableau avec plusieurs colonnes d’en-têtes en une table de données exploitables (unpivot) ?

Google Sheets : comment transformer un tableau avec plusieurs colonnes d’en-têtes en une table de données exploitables (unpivot) ?

Dans la suite bureautique Google Workspace, l’outil de tableurs Sheets est l’un des plus complets. Il est possible de créer de simples tableaux en ligne, mais vous pouvez aller beaucoup plus loin pour classer vos […]

personnes ont consulté cet article

1 minute

Rédigé par Pierre Le Moing - il y a 3 ans et modifié le 25/07/2023 à 10:18

Ce que vous allez découvrir

  • Étape 1 : agréger les données
  • Étape 2 : mettre toutes les données en une seule colonne avec la fonction Flatten()
  • Étape 3 : séparer les données en trois colonnes distinctes avec Split() et le 🔹comme séparateur

Google Sheets : comment transformer un tableau avec plusieurs colonnes d’en-têtes en une table de données exploitables (unpivot) ?

Dans la suite bureautique Google Workspace, l’outil de tableurs Sheets est l’un des plus complets. Il est possible de créer de simples tableaux en ligne, mais vous pouvez aller beaucoup plus loin pour classer vos données. Dans cet article, il sera question de fonctions avancées pour passer d’un tableau avec plusieurs colonnes d’en-têtes à un tableau plus lisible avec des colonnes fixes. Concrètement, l’idée de cette méthode (appelée Unpivot) est de transformer un tableau large en un tableau long, plus adapté à l’analyse de données.

Pour réaliser cette opération, nous allons utiliser plusieurs fonctions ;
– La fonction “&” c’est-à-dire l’assemblage de plusieurs plages dans une seule cellule
– FLATTEN() qui permet d’afficher des données de plusieurs plages dans une seule colonne
– SPLIT() qui permet de séparer les éléments préalablement assemblés en plusieurs colonnes
– ARRAYFORMULA() qui permet d’indiquer que nous sommes dans une matrice

Voici un schéma pour illustrer le besoin :

Comme indiqué sur le schéma, le tableau de base est constitué de trois zones :

  • Zone 1 : la colonne fixe, c’est à dire celle que vous voulez garder dans l’état
  • Zone 2 : les en-têtes que vous souhaitez “basculer” en une seule colonne, “Années”
  • Zone 3 : toutes les valeurs pour chaque année, que vous souhaitez “redistribuer” en une seule colonne, “Valeurs”

Étape 1 : agréger les données

Pour cette opération, nous allons utiliser un “&” associé à un caractère que nous sommes sûr de ne pas trouver dans les données comme par exemple un 🔹 CHAR(128313).

=ArrayFormula(A2:A6&"🔹"&B1:E1&"🔹"&B2:E6)

Étape 2 : mettre toutes les données en une seule colonne avec la fonction Flatten()

=ArrayFormula(flatten(A2:A6&"🔹"&B1:E1&"🔹"&B2:E6))

La fonction Flatten() range toutes les données de la 1ère ligne, fournisseur Alpha pour les années 2019 à 2022, puis ensuite la 2ème ligne, fournisseur Beta pour les années 2019 à 2022 et ainsi de suite.

Étape 3 : séparer les données en trois colonnes distinctes avec Split() et le 🔹comme séparateur

=ArrayFormula(SPLIT(flatten(A2:A6&"🔹"&B1:E1&"🔹"&B2:E6);"🔹"))

Nota :  si il y a plusieurs colonnes fixes, il faut alors toutes les associer

Exemple :

=arrayformula(split(flatten(A2:A6&"🔹"&B2:B6&"🔹"&C2:C6&"🔹"&D1:G1&"🔹"&D2:G6);"🔹"))

Voici le résultat final (partiel) avec 3 colonnes fixes:

Dans l’article suivant, partie 2, nous verrons comment rendre dynamique cette solution mais, dans l’attente, n’hésitez pas à nous contacter pour vous accompagner dans votre formation ou pour des projets spécifiques autour des outils Google.

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

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