Vous pouvez éviter complètement la fonction de remplissage automatique avec les formules matricielles . Entrez simplement la formule comme d'habitude, mais ajoutez-la :column
à la fin de chaque référence de cellule, puis appuyez sur Ctrl+ Shift+Enter . La formule sera ensuite appliquée immédiatement à toutes les cellules de la colonne sans faire glisser quoi que ce soit
Éditer:
Les versions plus récentes d'Excel utiliseront automatiquement des formules matricielles pour se remplir lorsqu'il y a une nouvelle ligne de données
À partir de la mise à jour de septembre 2018 pour Office 365, toute formule qui peut renvoyer plusieurs résultats les renversera automatiquement vers le bas ou dans les cellules voisines. Ce changement de comportement s'accompagne également de plusieurs nouvelles fonctions de tableau dynamique. Les formules de tableau dynamique, qu'elles utilisent des fonctions existantes ou les fonctions de tableau dynamique, doivent uniquement être entrées dans une seule cellule, puis confirmées en appuyant sur Entrée. Auparavant, les formules de tableau héritées nécessitent d'abord de sélectionner toute la plage de sortie, puis de confirmer la formule avec Ctrl+ Shift+ Enter. Ils sont communément appelés formules CSE.
Lignes directrices et exemples de formules matricielles
Si vous utilisez une ancienne version d'Excel ou si vous souhaitez en savoir plus sur les formules matricielles, continuez à lire
Par exemple, mettre =B3:B + 2*C3:C
D3 et Ctrl+ Shift+ Enteréquivaut à taper =B3 + 2*C3
et à faire glisser vers le bas dans un tableau à partir de la ligne 3
C'est rapide à taper, mais cela présente l'inconvénient que les cellules inutilisées à la fin (en dehors du tableau actuel) sont toujours calculées et affichent 0. Il existe un moyen simple de masquer les 0 . Cependant, le meilleur moyen est de limiter le calcul à la dernière colonne du tableau. Sachant que dans une formule matricielle que vous pouvez utiliser X3:X101
pour ne s'appliquer qu'aux cellules de X3 à X101, nous pouvons utiliser la INDIRECT
fonction pour obtenir le même effet
- Entrez
=LOOKUP(2, 1/(A:A <> ""), A:A)
dans une cellule en dehors du tableau pour trouver la dernière cellule non vide du tableau et nommez-la LastRow
. À utiliser également =COUNTA(A3:A) + 2
lorsque la première ligne du tableau est 3
- Alors au lieu d'
B3:B
utiliser=INDIRECT("B3:B" & LastRow)
Par exemple , si vous voulez cellules dans la colonne D pour contenir les produits de cellules B et C, et la colonne E contient des sommes de B et C, au lieu d'utiliser D3 = B3*C3
et E3 = B3 + C3
puis faites glisser vers le bas vous mettre juste le dessous de formules dans D3 et E3 respectivement , et appuyez sur Ctrl+ Shift+Enter
=INDIRECT("B3:B" & LastRow) * INDIRECT("C3:C" & LastRow)
=INDIRECT("B3:B" & LastRow) + INDIRECT("C3:C" & LastRow)
Désormais, chaque fois que vous ajoutez des données à une nouvelle ligne, le tableau est automatiquement mis à jour
La formule matricielle est très rapide car le modèle d'accès aux données est déjà connu. Maintenant, au lieu de faire 100001 calculs différents séparément, ils peuvent être vectorisés et effectués en parallèle , en utilisant plusieurs cœurs et une unité SIMD dans le CPU. Il présente également les avantages suivants:
- Cohérence: si vous cliquez sur l'une des cellules de E2 vers le bas, vous voyez la même formule. Cette cohérence peut aider à assurer une plus grande précision.
- Sécurité: vous ne pouvez pas remplacer un composant d'une formule matricielle multicellulaire. Par exemple, cliquez sur la cellule E3 et appuyez sur Supprimer. Vous devez soit sélectionner l'intégralité de la plage de cellules (E2 à E11) et modifier la formule de l'ensemble du tableau, soit laisser le tableau tel quel. Par mesure de sécurité supplémentaire, vous devez appuyer sur Ctrl+ Shift+ Enterpour confirmer la modification de la formule.
- Tailles de fichier plus petites: vous pouvez souvent utiliser une seule formule de tableau au lieu de plusieurs formules intermédiaires. Par exemple, le classeur utilise une formule de tableau pour calculer les résultats dans la colonne E. Si vous avez utilisé des formules standards ( par exemple
=C2*D2
, C3*D3
, C4*D4
...), vous avez utilisé 11 formules différentes pour calculer les mêmes résultats.
Lignes directrices et exemples de formules matricielles
Pour plus d'informations, lisez