web-dev-qa-db-fra.com

Comment faire en sorte que Excel 2010 remplisse automatiquement une nouvelle ligne avec des formules?

Je peux jurer que j'ai observé ce comportement dans lequel Excel remplit automatiquement une ligne insérée récemment avec la même formule que 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 naturellement (à moins que je ne rêve). Est-ce que quelqu'un sait comment cela est fait?

10
RipperDoc

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 ex. =A1*10 et complétez automatiquement la liste des numéros pour obtenir ceci:
1      10
2      20
3      30
4      40
5      50
  • Maintenant, pour voir comment fonctionne l'IA, tapez 6 (ou un nombre quelconque) dans la rangée suivante sous 5 (il devrait s'agir de A6 dans le contexte) et appuyez sur TAB OR ENTER - comme tu le fais normalement.
  • Profitez de la magie! (:

Cela ne devrait pas se produire que pour les formules - le formatage peut également être appliqué automatiquement, par exemple. Lorsque vous ajoutez une nouvelle colonne à droite du jeu de données, votre "En-tête" (1ère ligne) a un formatage spécial (remplissage noir/texte blanc) et commence à taper des valeurs à cet endroit.

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

5
Peter L.

Vous pouvez éviter complètement la fonctionnalité de remplissage automatique avec des formules matricielles. Entrez simplement la formule comme d'habitude mais ajoutez :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 rien glisser

Par exemple, mettre =B3:B + 2*C3:C dans D3 et Ctrl+Shift+Enter équivaut à taper =B3 + 2*C3 et à le faire glisser dans une table à partir de la ligne 3

C'est rapide à taper, mais a le désavantage 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 . Cependant, le meilleur moyen consiste à limiter le calcul à la dernière colonne du tableau. Sachant que dans une formule matricielle, vous pouvez utiliser X3:X101 pour n’appliquer que les cellules de X3 à X101, nous pouvons utiliser fonction INDIRECT pour obtenir le même effet.

  • Entrez =LOOKUP(2, 1/(A:A <> ""), A:A) dans une cellule en dehors de la table pour trouver la dernière cellule non vide dans la table et nommez-la LastRow. Sinon, utilisez =COUNTA(A3:A) + 2 lorsque la première ligne de la table est 3
  • Puis, au lieu de B3:B, utilisez =INDIRECT("B3:B" & LastRow)

Par exemple, si vous souhaitez que les cellules de la colonne D contiennent les produits des cellules de B et C et que la colonne E contienne les sommes de B et C, au lieu d'utiliser D3 = B3*C3 et E3 = B3 + C3 et de faire glisser vers le bas, vous devez simplement insérer les formules ci-dessous 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)

A partir de maintenant chaque fois que vous ajoutez des données à une nouvelle ligne, la table sera automatiquement mise à jour


La formule de la matrice est très rapide car le modèle d'accès aux données est déjà connu. Désormais, au lieu d'effectuer 100001 calculs différents séparément, ils peuvent être vectorisés et réalisés en parallèle, en utilisant plusieurs cœurs et une unité SIMD dans la CPU. Il présente également les avantages suivants:

  • Consistance: Si vous cliquez sur l’une des cellules de E2 vers le bas, la même formule s’affiche. Cette cohérence peut aider à assurer une plus grande précision.
  • Sécurité: Vous ne pouvez pas écraser un composant d'une formule matricielle à plusieurs cellules. Par exemple, cliquez sur la cellule E3 et appuyez sur Supprimer. Vous devez soit sélectionner toute 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+Enter pour confirmer la modification de la formule.
  • Taille de fichier plus petite: Vous pouvez souvent utiliser une formule matricielle à la place de plusieurs formules intermédiaires. Par exemple, le classeur utilise une formule matricielle pour calculer les résultats de la colonne E. Si vous aviez utilisé des formules standard (telles que = C2 * D2, C3 * D3, C4 * D4…), vous auriez utilisé 11 formules différentes pour calculer les mêmes résultats.

Instructions et exemples de formules matricielles

Pour plus d'informations, lisez

2
phuclv

Pour moi, cela fonctionnait pour deux colonnes de formules et s'est soudainement arrêté pour une seule. Je pense que je dois avoir copié et collé une cellule différente dessus et foiré le lien. Pour résoudre ce problème, j'ai sélectionné la cellule et suis allé dans Accueil> Édition> Remplir> Série et réaffirmé les détails. J'espère que cela pourra aider.

0
Oli

J'avais ce problème où un tableau arrêtait le remplissage automatique ... Je ne sais pas pourquoi il a soudainement cessé de fonctionner, mais voici le correctif:

  • Ajoutez votre formule à la colonne appropriée sur la dernière ligne de votre tableau et appuyez sur enter
  • Cliquez sur le petit carré intitulé fx et sélectionnez Overwrite all cells in this column with this formula.
  • Ajouter une nouvelle ligne à votre table, qui devrait maintenant avoir la formule automatiquement remplie

Cela a fonctionné à merveille pour moi, j'espère que cela aidera tout le monde.

0
S3DEV

Le problème que vous voyez est probablement dû au fait que certaines colonnes de votre table ne sont pas définies pour le remplissage automatique. Vous pouvez effectuer le remplissage automatique de la colonne en sélectionnant une cellule contenant la formule, en saisissant le cadre vert dans le coin inférieur droit et en le faisant glisser vers la dernière ligne ou le tableau. Une fois cette opération effectuée, la colonne est automatiquement renseignée, de sorte que toutes les nouvelles lignes contiennent automatiquement la formule.

0
Dennis

Wright (ré-écrivez si nécessaire) la formule et appuyez sur Entrée. La prochaine fois que vous ajouterez des données à la ligne suivante, la formule sera automatiquement renseignée.

0
Natalie

L'une des façons de faire cela automatiquement pour Excel consiste à copier-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 complété pour chaque ligne suivante. Si vous copiez et collez un bloc, Excel prend le relais, puis copie et colle automatiquement la formule pour les lignes futures.

0
user300038

C'est le comportement par défaut d'Excel si vous entrez une formule dans une colonne vide dans un tableau . Pour l'obtenir, vous devez insérer un tableau :

enter image description here

0
Peter Albert