Comment effectuer une mise en forme partielle d’un tableau à plusieurs colonnes dans Google Sheets

Vous pourriez être bloqué à un moment donné lorsque vous souhaitez effectuer une mise en forme partielle d’un tableau à plusieurs colonnes dans Google Sheets.

Comme vous le savez peut-être, la mise en forme consiste à regrouper toutes les valeurs d’un ou plusieurs tableaux en une seule colonne.

Cela ne ressemble pas à la fonction TRANSPOSE, que nous utilisons pour changer l’orientation d’un ou plusieurs tableaux.

Je peux sans doute vous expliquer le sujet à l’aide d’un exemple.

Je dispose de données réparties en quatre colonnes dans une feuille, et sa structure est la suivante.

La première colonne contient des descriptions de quelques activités de construction (tâches), et les trois colonnes adjacentes contiennent leur pondération par semaine.

Je souhaite effectuer une mise en forme partielle de ce tableau à plusieurs colonnes en utilisant la fonction FLATTEN dans Google Sheets.

Je veux dire que je veux mettre en forme les trois dernières colonnes (pondération des tâches) et aligner correctement les valeurs de la première colonne (tâches) avec elles.

Il n’y aura donc que deux colonnes dans le résultat final, les activités et la pondération.

Habituellement, nous essaierons cette méthode sans succès.

F2: =A3:A8

G2: =flatten(B3:D8)

"Mise en forme partielle d'un tableau à plusieurs colonnes - Exemple 1"

Comme vous pouvez le voir dans la plage F2:G19, la plage/tableau partiellement mis en forme (B3:D8) n’est pas aligné avec les valeurs de la plage A3:A8, et bien sûr, il ne le sera pas.

Vous devrez peut-être insérer deux cellules vides entre chaque activité dans F2:F7 pour que les données partiellement mises en forme correspondent ligne par ligne.

Vous pouvez trouver les solutions pour le faire ci-dessous.

Mise en forme partielle d’un tableau à plusieurs colonnes en deux colonnes

J’ai utilisé les deux formules suivantes pour effectuer partiellement une mise en forme d’un tableau à plusieurs colonnes dans Google Sheets (veuillez vous référer à la plage I2:J19).

I2: =ArrayFormula(flatten({A3:A8,iferror(A3:B8/0)}))

J2: =flatten(B3:D8)

Apprenons cela ci-dessous.

Remarque : Vous pouvez combiner les formules I2 et J2 et les utiliser comme une formule en une seule pièce dans I2.

=ArrayFormula({flatten({A3:A8,iferror(A3:B8/0)}),flatten(B3:D8)})

Mais je ne recommanderais pas cela car cela peut poser des problèmes lorsque vous voulez conserver plus d’une colonne inchangée. Nous en parlerons plus tard.

Explication de la formule

Tout d’abord, apprenons la formule I2, qui insère les cellules vides entre les tâches.

Nous voulons renvoyer deux cellules vides sous chaque activité (tâche). Comment est-ce possible ?

Nous pouvons obtenir cela en mettant en forme une colonne de valeurs et deux colonnes vides.

Formule générique : =flatten(colonne_1_valeur,2_colonnes_vides)

colonne_1_valeur – A3:A8

2_colonnes_vides – iferror(A3:B8/0)

Dans Google Sheets, nous pouvons utiliser IFERROR comme ci-dessus pour créer deux colonnes vides virtuelles.

Nous devons envelopper cette mise en forme avec la formule ArrayFormula car IFERROR est une fonction non matricielle.

C’est ce que nous avons fait !

De cette façon, nous pouvons effectuer une mise en forme partielle d’un tableau à plusieurs colonnes dans Google Sheets.

Note :

Supposons que vous ayez des tableaux à colonnes infinies.

Par exemple, A3:A et A3:B dans les formules I2 et B3:D dans les formules J2. Si c’est le cas, utilisez FILTER avec les formules comme ci-dessous.

I2: =flatten({filter(A3:A,A3:A<> » »),filter(iferror(A3:B/0),A3:A<> » »)})

J2: =flatten(filter(B3:D,A3:A<> » »))

Mise en forme partielle d’un tableau à plusieurs colonnes en trois colonnes

Dans le planning de construction ci-dessus, c’est-à-dire dans la plage A2:D8, je souhaite insérer une autre colonne entre A et B pour y mettre le poids total de chaque activité.

Données modifiées :

"Mise en forme partielle d'un tableau à plusieurs colonnes - Exemple 2"

Ici, je souhaite mettre en forme les trois dernières colonnes et aligner les deux premières colonnes avec elles.

Pour effectuer partiellement une mise en forme d’un tableau à plusieurs colonnes en trois colonnes, nous pouvons également utiliser mes deux formules précédentes en G3 et I3 après avoir modifié les références.

Nous mettrons directement en forme C3:E8 en I3 et insérerons des cellules vides en A3:A8 en G3.

G3: =ArrayFormula(flatten({A3:A8,iferror(A3:B8/0)}))

I3: =flatten(C3:E8)

Ce n’est pas suffisant ! Nous devons insérer des cellules vides entre les valeurs (poids) en B3:B8 et les obtenir en H3:H20.

Cela le fera.

H3: =ArrayFormula(flatten({B3:B8,iferror(A3:B8/0)}))

Plus de trois colonnes – Conseils supplémentaires

Si vous avez plusieurs colonnes à conserver à gauche des données, je vous suggère d’utiliser une formule VLOOKUP Array Formula.

Je vais expliquer comment.

Dans l’exemple ci-dessus, vous pouvez remplacer la formule H3 par la suivante.

=ArrayFormula(ifna(vlookup(G3:G18,A3:B8,{2},0)))

Vlookup recherchera les tâches dans G3:G18 dans A3:B8 et renverra le poids total de B3:B8.

En quoi cette formule est-elle bénéfique ?

En changeant {2} en {2,3}, vous pouvez renvoyer des valeurs de deux colonnes.

J’espère que la capture d’écran ci-dessous est explicite.

"Sortie à quatre colonnes - Exemple"

C’est tout ce qu’il faut savoir sur la mise en forme partielle d’un tableau à plusieurs colonnes dans Google Sheets.

Merci d’avoir lu. Profitez-en !

Related : Une formule simple pour dénormaliser un ensemble de données dans Google Sheets

Articles en lien