Connexion

Centre d'aide Documents



Fonctions: Formules de tableau

Imprimer
Informations sur les formules de tableau


La plupart des tableurs proposent deux types de formules de tableau : "plusieurs cellules" et "cellule unique".
Google Tableur sépare ces comportements en deux fonctions : CONTINUE et ARRAYFORMULA.

Les formules de tableau dans plusieurs cellules permettent à une formule de renvoyer plusieurs valeurs. Vous pouvez les utiliser en entrant simplement une formule qui renvoie plusieurs valeurs. Par exemple, la fonction TRANSPOSE utilise une matrice de cellules comme argument et renvoie les cellules transposées. Supposons que la plage A1:B3 contienne

exemple de formule de tableau dans plusieurs cellules

Si vous cliquez sur la cellule A10 et entrez =TRANSPOSE(A1:B3), vous obtenez le résultat suivant :

cellules transposées

Si vous consultez la formule dans la cellule en haut à gauche (celle affichant A), vous verrez qu'elle correspond exactement à ce que vous avez entré : =TRANSPOSE(A1:B3). Les autres cellules contiennent une formule CONTINUE. La cellule affichant F, par exemple, contient la formule =CONTINUE($A$10, 2, 3). Elle indique que la cellule continue le résultat de la cellule A10 et affiche l'entrée dans la 2e ligne et la 3e colonne du résultat de cette cellule. Bien évidemment, si la formule dans la cellule A10 change (ou le contenu de la plage initiale A1:B3 change), ces changements se refléteront dans le tableau transposé. Et bien sûr, vous pouvez utiliser les résultats du tableau transposé comme vous le feriez avec les résultats d'une autre formule : copier-coller, saisie d'autres formules en fonction de ces cellules, etc.

Si vous entrez maintenant une formule dans la cellule A10 qui renvoie une plage plus grande (par ex., =TRANSPOSE(A1:B6)), le tableau de sortie s'agrandit pour remplir suffisamment de cellules et afficher l'intégralité du nouveau résultat. Si vous entrez une formule qui renvoie une plage plus petite (par ex., =TRANSPOSE(A1:B2)), toutes les fonctions CONTINUE restantes en dehors du résultat de la formule afficheront "--" :

fonction continue

Supposons maintenant qu'avant que vous ne commenciez, des données figuraient dans l'une des cellules qui ont été remplacées par le résultat transposé. Par exemple, si la cellule A12 contenait une valeur lorsque vous avez modifié la cellule A10 :


données remplacées par le résultat transposé
Le tableau de sortie remplira les six cellules lorsque vous cliquez sur Entrée dans la cellule A10...


tableau de sortie 1

... mais un message s'affichera pour vous informer que ces données ont été remplacées. Vous pouvez ainsi ne pas valider leur remplacement. Si vous cliquez sur le lien "Ne pas valider le remplacement", seule la cellule initialement modifiée sera changée, et les autres cellules reprendront leur état initial :

tableau de sortie 2


Les formules de tableau dans une "cellule unique" vous permettent d'écrire des formules avec des entrées de tableau au lieu de sorties de tableau. Lorsque vous encapsulez une formule dans une fonction =ARRAYFORMULA, vous pouvez transmettre des tableaux et des plages à des fonctions et des opérateurs qui n'acceptent généralement que des arguments autres que des tableaux. Ces fonctions et opérateurs s'appliquent, un par un, à chaque entrée des tableaux, et renvoient un nouveau tableau contenant tous les résultats.

Par exemple, =ARRAYFORMULA({1,2,3} + {4,5,6}) calcule 1+4, 2+5 et 3+6, puis retourne {5,7,9}. Si vous entrez cette formule dans une cellule, vous obtenez 5, 7 et 9 dans trois cellules, en utilisant les règles de la formule répartie sur plusieurs cellules ci-dessus :

formule de tableau dans une cellule unique

Bien évidemment, vous pouvez également utiliser la plage A1:C1 au lieu de {1,2,3}. Toutefois, tous les tableaux et/ou toutes les plages doivent avoir la même taille et les mêmes dimensions. Ainsi =ARRAYFORMULA(A1:C1 + A2:C2)) est correct, mais =ARRAYFORMULA(A1:C1 + A2:Z2)) renvoie une erreur (la première plage a 3 colonnes tandis que la deuxième en a 26), tout comme =ARRAYFORMULA(A1:C1 + A2:A4)) (puisque la plage A1:C1 a 1 ligne et 3 colonnes tandis que la page A2:A4 a 3 colonnes et une 1 ligne).

ARRAYFORMULA devient vraiment intéressant lorsque vous prenez le résultat de l'un de ces calculs et que vous l'encapsulez dans une formule qui accepte les arguments de tableau ou de plage : SUM, MAX, MIN, CONCATENATE, etc. Par exemple, étant donné que =ARRAYFORMULA({1,2,3} + {4,5,6}) renvoie {5,7,9}, écrire =ARRAYFORMULA(SUM({1,2,3} + {4,5,6})) revient à écrire =SUM({5,7,9}). La formule renvoie 21. Vous pouvez ainsi entrer un calcul complexe dans une cellule unique, d'où le nom "formules de tableau dans une cellule unique".

Voici quelques exemples plus complexes :

  • =ARRAYFORMULA(SUM(IF(A1:A10>5, A1:A10, 0))) Pour chaque cellule de la plage A1:A10, calcule IF(Cell>5, Cell, 0), puis additionne les résultats. Le résultat est équivalent à =SUMIF(A1:A10, ">5").
  • =ARRAYFORMULA(MAX(IF(A1:B100<256, A1:B100, 0))). Pour chaque cellule de la plage A1:B100, calcule IF(Cell<256, Cell, 0), puis prend le maximum des résultats. Le résultat final est que vous avez trouvé l'entrée la plus grande de la plage A1:B100 qui est inférieure à 256.
  • =ARRAYFORMULA(SUM(IF(A1:A10>B1:B10, A1:A10, B1:B10))). Calcule d'abord IF(A1>B1, A1, B1), puis IF(A2>B2, A2, B2), et ainsi de suite jusqu'à IF(A10>B10, A10, B10). Additionne les résultats. Le résultat final est que vous avez additionné l'entrée la plus grande de chaque ligne.

Remarque : Sachez que les formules de tableau ne peuvent pas être exportées.

Ces informations vous ont-elles aidé ?

Résolution avancée des problèmes (disponible uniquement en anglais)
Show others how you're using Google Spreadsheets functions. Create a template and submit it to the Google Docs template gallery.

Donnez-nous vos impressions : répondez à quelques questions pour nous aider à améliorer notre Centre d'aide.