Was ist die Funktion zum Abrufen der aktuellen Zeilennummer und des aktuellen Spaltennamens für eine Zelle in Excel?
Antwort1
Sie können hierfür die Funktionen ROW
und verwenden. Wenn Sie das Argument für diese Formeln weglassen, wird die aktuelle Zelle verwendet. Diese können direkt mitCOLUMN
die OFFSET
Funktionoder eine andere Funktion, bei der Sie sowohl die Zeile als auch die Spalte als numerische Werte angeben können.
Wenn Sie beispielsweise =ROW()
in Zelle D8 eingeben, ist der zurückgegebene Wert 8. Wenn Sie =COLUMN()
in dieselbe Zelle eingeben, ist der zurückgegebene Wert 4.
Wenn Sie den Spaltenbuchstaben möchten, können Sie die CHAR
Funktion verwenden. Ich empfehle nicht, Buchstaben zur Darstellung der Spalte zu verwenden, da es bei der Übergabe von Spaltennamen mit zwei Buchstaben schwierig wird (wo die Verwendung von Zahlen ohnehin logischer ist).
Unabhängig davon, ob Sie dennoch den Spaltenbuchstaben erhalten möchten, können Sie einfach 64 zur Spaltennummer hinzufügen (64 ist ein Zeichen weniger als A
). Wenn Sie im vorherigen Beispiel den Zellenwert auf setzen =CHAR(COLUMN()+64)
, wäre der zurückgegebene Wert D
. Wenn Sie möchten, dass der Zellenwert die Zellenposition selbst ist, wäre die vollständige Formel =CHAR(COLUMN()+64) & ROW()
.
Nur zur Information, ich habe 64 aus einer ASCII-Tabelle erhalten. Sie könnten auch die CODE
Formel verwenden, die aktualisierte Formel wäre also =CHAR(COLUMN() + CODE("A") - 1)
. Sie müssen 1 abziehen, da der Mindestwert von COLUMN
immer 1 ist, und dann wäre der Mindestrückgabewert der gesamten Formel B
.
Dies funktioniert jedoch nicht mit Spalten mit zwei Buchstaben. In diesem Fall benötigen Sie die folgende Formel, um Spalten mit zwei Buchstaben richtig zu analysieren:
=IF(COLUMN()>26,IF(RIGHT(CHAR(IF(MOD(COLUMN()-1,26)=0,1,MOD(COLUMN()-1,26))+64),1)="Y",CHAR(INT((COLUMN()-1)/26)+64) & "Z",CHAR(INT((COLUMN()-1)/26)+64) & CHAR(IF(MOD(COLUMN(),26)=0,1,MOD(COLUMN(),26))+64)),CHAR(COLUMN()+64))&ROW()
Ich bin mir nicht sicher, ob es einen einfacheren Weg gibt, aber ich weiß, dass das von Zelle A1
zu ZZ99
Zelle problemlos funktioniert. Dies veranschaulicht jedoch, warum es am besten ist, die Verwendung von buchstabenbasierten Spaltenbezeichnern zu vermeiden und bei rein zahlenbasierten Formeln zu bleiben (z. B. die Spaltennummer anstelle des Buchstabens mit zu verwenden OFFSET
).
Antwort2
Versuchen Sie folgende Funktion:
=SUBSTITUTE(ADDRESS(1,COLUMN(),4),"1","")
Erklärung: ADDRESS(row_num, column_num, [abs_num])
. [abs_num] = 4
= relative Adresse. Das bedeutet, dass der zurückgegebene Wert keine '$'s enthält. Für die Spalte 'AB' ADDRESS
wird 'AB1' zurückgegeben. Der Ersatz entfernt die '1'.
Antwort3
Versuche dies
=SUBSTITUTE(SUBSTITUTE(CELL("address"),"$" & ROW(),""), "$", "")
Dadurch erhalten Sie die genaue Spaltenüberschrift ohne $ usw.
Antwort4
Um den Spaltennamen zu erhalten, habe ich die folgenden Formeln verwendet.
Für eine bestimmte Zelle:
=SUBSTITUTE(CELL("address",H3),"$" & ROW(H3),"")
Für die aktuelle Zelle:
=SUBSTITUTE(CELL("address"),"$" & ROW(),"")
Probieren Sie diese Variante aus. Sie funktioniert mit 3-Buchstaben-Spalten und hinterlässt kein "$" am vorderen Ende:
=SUBSTITUTE(ADDRESS(ROW(XFD123),COLUMN(XFD123),4),ROW(XFD123),"")