Diviser une colonne de valeurs avec Google Sheets

Cette astuce vous permettra de diviser une colonne de valeurs en plusieurs colonnes (sans modifier la colonne d'origine) et fonctionne même si la longueur de la colonne de données est variable.

Notez que bien que la formule ici puisse sembler complexe, vous n'avez pas besoin de la comprendre pour pouvoir l'utiliser.


Exemple d'utilisation

L'objectif ici est de diviser en 4 colonnes les valeurs de la colonne A :

google sheets diviser colonne png

Copiez simplement la formule suivante :

=LET(p;A:A;c;4;l;NBVAL(p);lc;ARRONDI.SUP(l/c);MAP(TRANSPOSE(SEQUENCE(c;lc));LAMBDA(v;SI(v<=l;INDEX(p;v);""))))

Et, si nécessaire, remplacez la plage contenant les données (A:A) et le nombre de colonnes souhaitées (4) dans la formule.

Pour obtenir ici 4 colonnes :

google sheets formule diviser colonne en 4 colonnes

Si vous souhaitez plutôt répartir les valeurs ligne par ligne (au lieu de colonne par colonne), utilisez cette formule :

=LET(p;A:A;c;4;l;NBVAL(p);lc;ARRONDI.SUP(l/c);MAP(SEQUENCE(lc;c);LAMBDA(v;SI(v<=l;INDEX(p;v);""))))

Pour obtenir alors :

google sheets formule diviser colonne en 4 colonnes ligne par

Si vous souhaitez mieux comprendre la signification des variables de LET, p représente la plage contenant les valeurs (vous pouvez y définir une colonne entière si vous le souhaitez), c représente le nombre de colonnes souhaitées, l représente le nombre de lignes de valeurs de la plage et lc représente le nombre de lignes par colonne (au maximum).

Fonction nommée

Pour simplifier son utilisation, vous pouvez créer une fonction nommée pour pouvoir ensuite l'utiliser très facilement :

=DIVISER_COLONNE(A:A;4)

Dans ce cas, ajoutez simplement une nouvelle fonction nommée, entrez les 2 arguments plage et colonnes puis la formule suivante :

=LET(l;NBVAL(plage);lc;ARRONDI.SUP(l/colonnes);MAP(TRANSPOSE(SEQUENCE(colonnes;lc));LAMBDA(v;SI(v<=l;INDEX(plage;v);""))))

google sheets fonction nommee diviser colonne png

Pour pouvoir utiliser ensuite une formule simplifiée :

google sheets fonction personnalisee diviser colonne

Ou entrez cette formule dans le champ pour la version ligne par ligne :

=LET(l;NBVAL(plage);lc;ARRONDI.SUP(l/colonnes);MAP(SEQUENCE(lc;colonnes);LAMBDA(v;SI(v<=l;INDEX(plage;v);""))))
Il existe aussi une fonction Google Sheets nommée WRAPROWS qui permet de faire ce travail, mais avec un résultat ligne par ligne uniquement, et elle ne permet pas d'entrer directement une colonne entière (en ignorant les cellules vides au-dessous des données) pour un résultat dynamique.