web-dev-qa-db-fra.com

Comment exprimer un identifiant de cellule en utilisant une lettre et un numéro de ligne actuel dans une formule Excel?

Supposons que je veuille calculer la somme d'une colonne, puis soustrayez la somme d'une autre colonneMAISen n'utilisant que les valeurs d'une ligne donnée à la ligne actuelle (celle dans laquelle la formule réside).

Ainsi, dans un "langage personnalisé informel", il me faudrait quelque chose comme ceci:

Je suis dans C5 := (somme (A1: "A" + ROW ()) - somme (B1: "B" + ROW ()))

Comment puis-je écrire une expression correcte dans Excel pour cela?

12
Michael

Vous pouvez essayer d'utiliser INDIRECT, qui accepte une référence de chaîne à une plage et renvoie la plage elle-même:

=SUM(INDIRECT("A1:A"&ROW()))-SUM(INDIRECT("B1:B"&ROW()))

Ici, nous commençons avec un 'stub' de "A1:A". Nous obtenons alors la ligne courante avec ROW() (donc 5 dans cet exemple) et la concaténons avec notre stub, nous donnant INDIRECT("A1:A5"). Puisque INDIRECT retournera la plage référencée par son argument ("A1:A5" ici), nous pouvons l'envelopper avec la formule SUM pour obtenir le résultat (ce qui est identique à SUM(A1:A5)). Nous faisons ensuite la même chose pour la colonne B.

17
RocketDonkey

Je pense que vous pouvez regarder en arrière. Vous devez ancrer la première référence de cellule dans l'appel à SUM à la première ligne, mais laissez la deuxième référence de cellule changer avec la ligne. Essayez ceci en cellule C1 :

=SUM(A$1:A1) - SUM(B$1:B1)

Maintenant, lorsque vous copiez cela dans la colonne, cela devient:

C2: = SUM (A $ 1: A2) - SUM (B $ 1: B2)
C3: = SUM (A $ 1: A3) - SUM (B $ 1: B3)
C4: = SUM (A $ 1: A4) - SUM (B $ 1: B4)
C5: = SUM (A $ 1: A5) - SUM (B $ 1: B5)

6
Bill the Lizard
C5:= (SUM))-(SUM))

Essaye ça:

C5:= (SUM(INDIRECT("A1:A" & ROW()))-(SUM(INDIRECT("B1:B" & ROW())) 
1
QArea