web-dev-qa-db-fra.com

Comment créer une formule pour chaque ligne d'une colonne dans Google SpreadSheet?

J'utilise trois colonnes. A, B et C. Dans la colonne C, j'ai une formule à chaque rangée =A1*(1.6*B1), puis pour la rangée suivante, j'ai =A2*(1.6*B2) dans C2.

Comment puis-je faire pour ne pas avoir à saisir la nouvelle formule dans la colonne C pour chaque ligne?

Je l'utilise dans Google Documents SpreadSheet et OpenOffice SpreadSheet.

74
Jonas

Utiliser la souris

  1. Cliquez sur la cellule dont vous voulez répéter la formule.
  2. Un carré noir "poignée" apparaîtra dans le coin inférieur droit

    Location of Drag box

  3. Cliquez et faites glisser cette poignée, en faisant glisser la colonne vers le bas (ou directement sur la ligne). Vous pouvez également double-cliquer la poignée à remplir automatiquement.

    Dragging the box

  4. Arrêtez-vous à la dernière cellule que vous souhaitez remplir

Utiliser le clavier

  1. Déplacez le curseur sur la cellule dont vous voulez répéter la formule
  2. Tenez shiftname__
  3. Tout en maintenant la touche enfoncée, appuyez plusieurs fois sur downpour sélectionner le reste de la plage de cellules à remplir.
  4. Lorsque vous atteignez le bas, relâchez shiftpuis appuyez sur CTRL + D (Utilisation CTRL + R si vous remplissez à droite à droite ) (Cette méthode préserve également les notes, contrairement à la solution à la souris.)

Dans les deux cas, ce que vous faites s'appelle "remplir". Il est supporté par tous les (?) Tableurs.

88
Geoff

Une solution encore plus simple dans Google Sheets consisterait à saisir cette formule dans C1:

=ARRAYFORMULA(IF(A5:A,A5:A*(1.6*B5:B),""))

Il se propage automatiquement aux lignes suivantes si une valeur est entrée dans la colonne A, éliminant le besoin de la copier dans chaque ligne. En fait, si vous le copiez dans C2, il serait automatiquement remplacé par la suite de la formule dans C1.

La partie importante est le:Aet:B, qui spécifie que vous souhaitez inclure ces colonnes entières dans votre formule. Cela signifie que vous pouvez appliquer la formule à cellule unique =A5*(1.6*B5) à des colonnes entières avec:

=ARRAYFORMULA(A5:A*(1.6*B5:B)) 

Notez que cela donne de mauvais résultats où A et B sont des valeurs manquantes. Nous l'enveloppons donc dans une instruction IF() (voir ci-dessus) sans rien afficher en l'absence de valeurs. Vous pouvez également utiliser IFERROR() pour gérer les mauvais résultats.

74
ceoliphant

voici une autre solution. Supprimez toutes les formules présentes, puis tapez la formule dans C1 en la faisant correspondre à A1 et B1 et appuyez sur Entrée.
alors maintenant la formule correcte est juste en C1,
maintenant cliquez sur la boîte C1, une boîte englobante apparaîtra, le coin inférieur droit de cette boîte englobante a un carré noir,
double-cliquez sur ce carré et la formule sera «remplie»
vous remarquerez que C2 correspond à A2 et B2 et ainsi de suite.
si c'est ce dont vous avez besoin et que je comprends correctement

13
fightermagethief

Les réponses suggérées fonctionnent bien pour les petites feuilles mais j'avais des milliers de lignes et utiliser la souris ou le clavier pour les sélectionner prenait trop de temps.

La méthode ARRAYFORMULA fonctionne mais elle est compliquée et oblige à réécrire le style de la formule et à prendre en compte les erreurs éventuelles).

La solution est si simple que cela peut être fait en 2 secondes:

  1. Ecrivez votre nouvelle formule dans la première CELLULE.
  2. cliquez sur la cellule, appuyez sur CTRL + C (copiez la cellule)
  3. cliquez sur l'en-tête de la colonne (par exemple A) pour sélectionner la colonne entière
  4. CTRL + V -> coller la formule de la cellule dans la colonne entière
  5. profit
9
John

J'ai trouvé toutes ces solutions très frustrantes et déroutantes également.

Je vous préviens cependant, cela remplacera tout ce qui se trouve actuellement dans les cellules, mais comme il s'agit d'une formule, cela ne devrait pas poser de problème.

Pour moi c'était simple.

  1. Cliquez sur la cellule dont vous voulez copier la formule (sélectionnez-la).
  2. Copier le contenu des cellules (Ctrl+C sous Windows, cmd+C sur macOS)
  3. Tenir Shift+Ctrl+Down (en sélectionnant toutes les cellules de cette ligne)
  4. Maintenant, collez la formule comme vous avez toutes les cellules sélectionnées.

Cela mettra la formule, mise à jour avec chaque cellule sur les références.

5
Jamie Hutber

Une fois votre forumla écrit, vous pouvez double-cliquer sur le coin inférieur droit de la cellule sélectionnée avec la zone bleue pour copier les données dans la colonne tant qu'une cellule voisine possède des données.

Cela vous fait gagner beaucoup de temps lorsque vous travaillez avec une feuille de 7 000 lignes.

 enter image description here

3
Joshua Dance

P.S. Je travaille dans OpenOffice et je vois maintenant que cela fonctionne également en copiant simplement le contenu de la cellule et en le collant dans les autres. La formule est automatiquement ajustée à chaque rangée! (Pour éviter l'ajustement automatique, préfixez le nom du numéro de ligne et le numéro de colonne avec un $).

3
Mihai

Vous pouvez sélectionner la colonne C complète en sélectionnant l'en-tête et coller la formule =A1*(1.6*B1). cela s'appliquera à chaque rangée.

Pas besoin de sélectionner et de faire glisser pour copier dans chaque cellule.

2
palaniraja

Très similaire à la réponse de ceoliphant mais un peu plus simple, ajoutez simplement une formule à C1:

=ARRAYFORMULA(iferror(A:A*B:B*1.6))
2
skube