Erstellen Sie eine Zellreferenz, ohne die Zeilennummer zu kennen

16

Dies kann keine grundlegendere Tabellenkalkulationsfrage sein, aber ich war schon immer ein SQL-Typ ...

Wie erstelle ich eine Formel, bei der ein Wert aus einer anderen Spalte in der aktuellen Zeile abgerufen wird? Kann nicht die konventionelle 'E2' sein, da die aktuelle Zeile 3 sein könnte.

Das Problem besteht darin, eine Formel zu definieren, in der der ROWBezeichner relativ ist. $E2Funktioniert, wenn die Formel in Zeile 2 aufgerufen wird, schlägt jedoch fehl, wenn sie in Zeile 3 aufgerufen wird. Ich erstelle Zeilen über die API - mein Code kann nicht wissen, welche Zeilennummer eingefügt wird.

justSteve
quelle
Möglicherweise möchten Sie angeben, welches Programm Sie verwenden.
googleDocs Tabellenkalkulation, aber ich esse meinen Hut, wenn er sich von Excel unterscheidet.
JustSteve

Antworten:

16

Die ROWFunktion gibt die Zeilennummer einer Zelle oder eines Bereichs zurück.

Die Syntax lautet: Row( reference ) Wenn der Referenzparameter weggelassen wird, wird die Zelle angenommen, in die die Zeilenfunktion eingegeben wurde.

Dies kann verwendet werden, um auf Zellen zu verweisen, indem indirectbeispielsweise =indirect("C" & row())auf Spalte C in der aktuellen Zeile verwiesen wird.

Vier-Stern
quelle
6

=R[0]C[-1]Sinnvoll, aber die R1C1-Notation funktioniert in der neuen Version von Google Sheets nur innerhalb der Funktion INDIRECT (ref, FALSE) , z INDIRECT("R1C1", FALSE).

Also schreibe:

=INDIRECT("R[0]C[-1]", FALSE)
Jerry101
quelle
Die Parametertrennung erfolgt durch ';' nicht durch ','.
Jpsy
2
@Jpsy Hängt von Ihrem Gebietsschema ab. Es ist ,für einige Länder und ;für andere.
Whow @sandwich - das erklärt die ständigen Probleme, die ich mit den Dokumenten hatte. AFAIK sogar Excel hat diesen Unterschied je nach Gebietsschema. Sicherlich ein großes Problem für viele Benutzer, die auf dieses Problem stoßen, ohne zu verstehen, warum ihre Befehle nicht wie in den Dokumenten beschrieben funktionieren. Danke für die Erklärung!
Jpsy
3

In $Excel (und in der Tabelle von Google Docs) werden absolute (nicht relative) Verweise erstellt. Mit anderen Worten, $e$3bezieht sich auf e3, egal wo es kopiert wird, von wo es auch kopiert wird. Sie müssen die Spalte und die Zeile einzeln sperren (oder die andere wird sich ändern).

soandos
quelle
Gilt auch für Apple-Nummern.
Ich suche nach dem Ausdruck Absolute Column Relative Row. Möchte immer den Wert von E von der Zeile relativ zur aktuellen Zeile.
JustSteve
$ e2 oder welche Nummer auch immer du willst.
Soandos
ist '2' nicht absolut? Ich brauche eine Möglichkeit, um "aktuelle Zeile" anzugeben.
JustSteve
Die 2 ist nicht absolut, nur das e ist. Das $ sperrt nur die unmittelbar darauf folgende Sache, nicht die ganze Sache.
Soandos
-1

Verwenden:

=R[0]C[-1]

Die eckigen Klammern bedeuten, dass es sich um eine relative Referenz handelt. =R1C1ist das gleiche wie=A1

Dies funktioniert in Google Docs, nicht sicher über Excel.

Wirbel
quelle
1
R [1] C [-1] ist nicht = A1. Haben Sie absichtlich mit Klammern auf eine andere Zelle verwiesen?
OnenOnlyWalter
1
Die Eingabe von = R [0] C [-1] in Zelle B1 entspricht der Eingabe von = A1. In Google Docs wird automatisch eine in die andere konvertiert.
Eddy