cellio

ARRAYFORMULA Google Sheets : Une formule pour toute la colonne

Maîtrisez ARRAYFORMULA sur Google Sheets : appliquez une formule sur une colonne entière, gérez les lignes vides et évitez les erreurs.

Par Ayoub Farid · · 2 min de lecture

En temps normal, vous écrivez une formule dans la cellule de la ligne 2, puis vous devez la recopier vers le bas (avec la poignée de recopie). La fonction ARRAYFORMULA permet à une unique formule placée en ligne 2 de calculer automatiquement toutes les lignes de votre feuille de calcul, y compris celles ajoutées ultérieurement, par exemple via un formulaire Google Forms.

Syntaxe

=ARRAYFORMULA(array_formula)

Raccourci pratique : saisissez votre formule classique puis appuyez sur Ctrl+Maj+Entrée. Google Sheets l'encadre automatiquement avec ARRAYFORMULA.

Exemple : calculer le chiffre d'affaires sur chaque ligne

Au lieu d'écrire =B2*C2 et d'étirer la formule vers le bas :

=ARRAYFORMULA(B2:B*C2:C)

L'utilisation d'une plage ouverte (B2:B) permet de couvrir automatiquement l'intégralité des lignes du tableau.

Ignorer les lignes vides

La formule précédente affiche un 0 sur chaque ligne vide. Pour éviter cela, combinez-la avec la fonction SI (IF) :

=ARRAYFORMULA(IF(B2:B="","",B2:B*C2:C))

Remarque : dans les formules Excel ou si vos paramètres Sheets sont configurés en français natif, les fonctions utilisent des points-virgules comme séparateurs et leurs noms traduits, mais Sheets gère nativement les fonctions en anglais avec des virgules.

Inclure l'en-tête dans la même formule

Vous pouvez placer votre formule directement en ligne 1 pour générer à la fois le titre de la colonne et l'ensemble des résultats :

={"Revenue";ARRAYFORMULA(IF(B2:B="","",B2:B*C2:C))}

Utiliser ARRAYFORMULA avec VLOOKUP

Vous pouvez facilement intégrer RECHERCHEV (VLOOKUP) ainsi que la gestion d'erreurs SIERREUR (IFERROR) :

=ARRAYFORMULA(IF(A2:A="","",IFERROR(VLOOKUP(A2:A,Prices!$A$2:$C$500,3,FALSE),"Not found")))

Pour aller plus loin, consultez notre guide sur VLOOKUP dans Sheets.

Ce qui ne fonctionne pas avec ARRAYFORMULA

Les fonctions d'agrégation qui renvoient par définition un résultat unique, comme SOMME (SUM) ou MOYENNE (AVERAGE), ainsi que les opérateurs logiques ET (AND) ou OU (OR), ne s'exécutent pas ligne par ligne. Pour reproduire un ET logique sur chaque ligne, multipliez simplement les conditions entre elles : (B2:B>0)*(C2:C="Paid").

Erreurs fréquentes

  • #REF! "Le résultat du tableau n'a pas été développé" : du contenu est déjà présent dans l'une des cellules situées en dessous. Supprimez les valeurs bloquantes pour libérer l'espace.
  • Ralentissements du tableur : les plages ouvertes infinies appliquées à de très grands classeurs peuvent dégrader les performances. Préférez limiter la plage si nécessaire (B2:B5000).

Équivalent dans Excel

Les versions modernes d'Excel gèrent les formules matricielles dynamiques en mode "déversement" : une formule comme =B2:B500*C2:C500 fonctionne directement sans nécessiter de fonction d'encadrement supplémentaire.

Questions fréquentes

À quoi sert la fonction ARRAYFORMULA ?

Elle applique une formule à une plage complète en une seule fois, en renvoyant automatiquement un résultat sur chaque ligne correspondante.

Comment empêcher ARRAYFORMULA d'afficher des zéros sur les lignes vides ?

Il suffit d'imbriquer votre calcul dans une condition IF(plage="","",...).

Pourquoi ARRAYFORMULA renvoie-t-elle une erreur #REF! ?

Cette erreur survient lorsque les cellules situées sous la formule, indispensables pour afficher les résultats propagés, ne sont pas totalement vides.

La fonction ARRAYFORMULA existe-t-elle dans Excel ?

Non, mais Excel 365 prend en charge les tableaux dynamiques qui accomplissent exactement la même tâche de manière native et automatique.

À lire aussi