Wie erhalte ich den aktuellen Spaltennamen in Excel?

Wie erhalte ich den aktuellen Spaltennamen in Excel?

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 ROWund verwenden. Wenn Sie das Argument für diese Formeln weglassen, wird die aktuelle Zelle verwendet. Diese können direkt mitCOLUMNdie OFFSETFunktionoder 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 CHARFunktion 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 CODEFormel verwenden, die aktualisierte Formel wäre also =CHAR(COLUMN() + CODE("A") - 1). Sie müssen 1 abziehen, da der Mindestwert von COLUMNimmer 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 A1zu ZZ99Zelle 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' ADDRESSwird '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),"")

verwandte Informationen