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.
Un carré noir "poignée" apparaîtra dans le coin inférieur droit
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.
Arrêtez-vous à la dernière cellule que vous souhaitez remplir
shift
name__down
pour sélectionner le reste de la plage de cellules à remplir.shift
puis 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.
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:A
et: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.
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
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:
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.
Cela mettra la formule, mise à jour avec chaque cellule sur les références.
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.
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 $).
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.
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))