Comment faire pour remplir automatiquement une nouvelle ligne Excel 2010 avec des formules?

11

Je peux jurer que j'ai vu ce comportement où Excel remplit automatiquement une ligne nouvellement insérée avec la même formule que sur la ligne ci-dessus.

Je sais que cela peut être fait avec certains VBA, mais si possible, j'aimerais trouver ce qui déclenche cela en natif (sauf si je rêve). Quelqu'un sait-il comment cela se fait?

RipperDoc
la source

Réponses:

6

Ce n'est pas un rêve, et vous avez raison: l'IA d'Excel déclenche ces choses, et pas seulement pour les tableaux. Juste un petit exemple pour démontrer:

  • Ouvrez un nouveau classeur et remplissez la colonne Aavec des nombres croissants, par exemple:
1
2
3
4
5
  • Ensuite, dans la colonne B, ajoutez une formule simple, par exemple =A1*10et remplissez automatiquement la liste des nombres pour obtenir ceci:
1      10
2      20
3      30
4      40
5      50
  • Maintenant, pour voir comment fonctionne l'IA, tapez 6(ou n'importe quel nombre) dans la ligne suivante sous 5(cela devrait être A6dans le contexte) et appuyez sur TABOU ENTER- comme vous le faites normalement.
  • Profitez de la magie! (:

Cela ne devrait pas se produire uniquement pour les formules - la mise en forme peut également être appliquée automatiquement, par exemple lorsque vous ajoutez une nouvelle colonne à droite de l'ensemble de données et que votre "En-tête" (1ère ligne) a une mise en forme spéciale (remplissage noir / texte blanc) et commencez à taper valeurs là-bas - très probablement, il sera coloré de la même manière.

Je ne peux pas fournir la liste complète des cas, mais je pense que vous avez compris!)

Peter L.
la source
Fait intéressant, je ne peux que faire fonctionner cela en colonnes, pas en lignes (par exemple, si vous transposez votre exemple, je ne peux pas le faire fonctionner).
RipperDoc
Je ne sais pas pourquoi ... Peut-être parce que les données sont généralement stockées en mode colonne avec une croissance - c'est comme plus naturel))
Peter L.
Ils doivent être au moins quatre.
Luke
@PeterL. ,, nice interprétation +10 ☺
Rajesh S
2

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:CD3 et Ctrl+ Shift+ Enteréquivaut à taper =B3 + 2*C3et à 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:X101pour ne s'appliquer qu'aux cellules de X3 à X101, nous pouvons utiliser la INDIRECTfonction 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) + 2lorsque la première ligne du tableau est 3
  • Alors au lieu d' B3:Butiliser=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*C3et E3 = B3 + C3puis 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

phuclv
la source
0

Il s'agit du comportement par défaut d'Excel si vous entrez une formule dans une colonne vide d'un tableau . Pour l'obtenir, vous devez insérer un tableau :

entrez la description de l'image ici

Peter Albert
la source
Merci, cela fonctionne, mais sans utiliser Table auparavant, j'ai vu cet effet sur des cellules individuelles. Je pense que ce doit être une sorte de paramètre de remplissage automatique.
RipperDoc
il y a deux façons de le faire très rapidement: 1. entrez la formule puis double-cliquez sur le petit "+" lorsque vous survolez le coin inférieur droit de la cellule 2. Sélectionnez la plage complète et entrez la formule avec Ctrl-Entrée . Mais aucune des deux options n'est un "vrai remplissage automatique" comme dans les tableaux. Je suis presque sûr qu'il n'existe pas (sauf s'il est construit sur mesure en VBA)
Peter Albert
0

Une manière pour que Excel le fasse automatiquement pour vous est de copier et coller les formules souhaitées sur plusieurs lignes. Si vous le faites un par un, il n'est pas clair que le copier-coller doit être automatiquement effectué pour chaque ligne par la suite. Si vous copiez et collez un bloc, Excel prendra le relais et copiera et collera automatiquement la formule pour les lignes futures.

user300038
la source
0

Le problème que vous voyez est probablement dû au fait que certaines colonnes de votre tableau ne sont pas définies pour un remplissage automatique. Vous pouvez effectuer le remplissage automatique de la colonne en sélectionnant une cellule contenant la formule, en saisissant la boîte verte dans le coin inférieur droit et en la faisant glisser vers la dernière ligne ou le tableau. Une fois que vous faites cela, la colonne se remplit automatiquement de sorte que toutes les nouvelles lignes auront automatiquement la formule dans cette colonne.

Dennis
la source
0

Pour moi, cela fonctionnait pour deux colonnes de formules et s'est soudainement arrêté pour l'une d'entre elles seulement. Je pense que j'ai dû copier et coller une cellule différente dessus et foiré le lien. Pour y remédier, j'ai sélectionné la cellule et suis entré dans Accueil> Édition> Remplir> Séries et j'ai réaffirmé les détails. J'espère que ça t'as aidé.

Oli
la source
Ceci est une réponse à un problème différent et ne répond pas à la question posée.
DavidPostill
0

J'avais ce problème où une table a arrêté le remplissage automatique ... Je ne sais pas pourquoi elle a soudainement cessé de fonctionner, mais voici le correctif:

  • Ajoutez votre formule à la colonne appropriée de la dernière ligne de votre tableau et appuyez sur enter
  • Cliquez sur la petite fenêtre contextuelle libellée fx et sélectionnezOverwrite all cells in this column with this formula
  • Ajoutez une nouvelle ligne à votre tableau, qui devrait maintenant avoir la formule remplie automatiquement

Cela a fonctionné brillamment pour moi, j'espère que cela aide n'importe qui d'autre.

S3DEV
la source
0

Wright (ressusciter si nécessaire) la formule et appuyez sur Entrée. La prochaine fois que vous ajouterez des données à la ligne suivante, il remplira automatiquement la formule.

Natalie
la source
Lisez "Pourquoi ai-je besoin de 50 points de réputation pour commenter" pour vous assurer de comprendre comment vous pouvez commencer à commenter.
Pimp Juice IT
Pour écrire quelque chose sur papier, pour faire un virage à droite , et les frères Wright qui auraient volé le premier avion.
Pimp Juice IT
Apprendre ce genre de choses est un rite de passage.
Scott
-2

Pour ce faire, utilisez la fonction Justifier dans la liste déroulante Remplir. Il se trouve sous l'onglet Accueil dans les fonctions d'édition. Sur le mien, il est tout à droite de la barre d'outils.

XLRookie
la source
Voulez-vous ajouter des détails sur la façon dont cela se produit? Sur cette base, il ne fait pas ce que le PO a demandé.
zagrimsan
Ce que j'ai fait a été de mettre en place un tableau avec des en-têtes au format de remplissage, des formules, etc. pour chaque cellule sous mes en-têtes. Ensuite, dans la colonne la plus à gauche, j'ai sélectionné une plage que je n'avais pas encore formatée, je suis allé dans le menu déroulant de remplissage et j'ai sélectionné justifier. Maintenant, lorsque je commence à saisir des informations dans cette plage de cellules, la ligne entière se met automatiquement en forme pour les formules, les remplissages, etc. que j'avais définis dans mon tableau. Désolé, je ne suis pas très technophile, donc je ne sais pas comment mettre des images dans ce commentaire pour mieux comprendre.
XLRookie
Cette méthode permet de formater la ligne dans laquelle vous entrez actuellement des données de la même manière que la ligne directement au-dessus.
XLRookie
Vous ne pouvez pas insérer de photos dans les commentaires, mais vous pouvez le faire dans la réponse. Cependant, j'ai testé cela et il me semble que Fill-> Justify n'est pas nécessaire pour que le remplissage automatique se produise (essayez-le vous-même, en laissant simplement l'étape de justification des étapes que vous avez décrites). La fonctionnalité de remplissage automatique dans Excel, dont il est question ici, est la raison du résultat, et non la justification.
zagrimsan
Haha c'est vrai. Eh bien, cela vous montre mon niveau d'expertise dans ce domaine.
XLRookie