web-dev-qa-db-fra.com

Renvoie les valeurs de la ligne ci-dessus à la ligne actuelle

J'essaie de faire quelque chose de simple: il me suffit de définir des cellules sur les valeurs des lignes précédentes .. J'ai essayé =A(Row()-1) mais cela ne fonctionne pas.

34
Bliznak

Pour résoudre ce problème dans Excel, généralement, je saisis simplement le numéro de ligne littéral de la cellule ci-dessus, par exemple, si je tape Cell A7, j’utiliserais la formule =A6. Ensuite, si je copiais cette formule dans d'autres cellules, ils utiliseraient également la ligne de la cellule précédente.

Une autre option consiste à utiliser Indirect(), qui résume l’instruction littérale à l’intérieur en une formule. Vous pourriez utiliser quelque chose comme:

=INDIRECT("A" & ROW() - 1)

La formule ci-dessus résoudra à la valeur de la cellule de la colonne A et à la ligne dont la valeur est inférieure à celle de la cellule contenant la formule.

69
Ben McCormack

Cette formule ne nécessite pas de référence de lettre de ligne ("A", "B", etc.). Il retourne la valeur de la cellule une ligne au-dessus dans la même colonne.

=INDIRECT(ADDRESS(ROW()-1,COLUMN()))
16
kevinbatchcom

J'ai suivi BEN et Merci et beaucoup pour la réponse, j'ai donc utilisé son idée pour obtenir ma solution, je poste le même message, donc si quelqu'un d'autre a une exigence similaire, vous pouvez également utiliser ma solution également. Mon exigence était quelque chose comme Je souhaite obtenir la somme des données entières de la première ligne à la dernière ligne et je générais le tableur par programme afin d'éviter de coder en dur les noms de lignes car les données sont toujours dynamiques et le nombre de lignes. ne sont jamais constants. Ma formule était quelque chose comme suit.

=SUM(B1:INDIRECT("B"&ROW()-4))
1
Vikash Mishra

Le moyen le plus simple pour moi est de passer à la notation R1C1 et d’utiliser simplement R[-1]C1 et de revenir en arrière une fois terminé.

0
Slai

Vous pouvez également utiliser =OFFSET([@column];-1;0) si vous êtes dans une table nommée.

0
Andre Morata