Alphabetische Spaltenbezeichnung (Microsoft Excel)
Mit der Funktion COLUMN können Sie die numerische Spalte der Zelle einfach bestimmen. Alles, was Sie tun müssen, ist, eine Formel wie diese in eine Zelle einzufügen. Das Ergebnis ist ein Wert mit A = 1, B = 2 usw.:
=COLUMN()
Was ist, wenn Sie einen alphabetischen Wert anstelle eines numerischen Werts wünschen? Dies kann auf verschiedene Arten erfolgen. Zum Beispiel funktioniert die folgende Formel für die ersten 26 Spalten A bis Z sehr gut:
=CHAR(COLUMN()+64)
Dies funktioniert, weil die Buchstaben A bis Z die Zeichencodes 65 bis 90 verwenden. Wenn COLUMN einen Wert für die Spalten A bis Z (1 bis 26) zurückgibt, kann dieser zu 64 addiert werden, um die Buchstaben dieser Spalten 65 bis 90 zu erhalten.
Natürlich funktioniert diese Lösung nicht, wenn Sie die Buchstabenbezeichnungen von Spalten jenseits von Z kennen möchten. (Excel kann Spalten bis IV verwenden.)
Diese Formel funktioniert für ein- und zweistellige Spalten:
=IF(COLUMN()<27,CHAR(COLUMN()+64),CHAR((COLUMN()/26)+64)& CHAR(MOD(COLUMN(),26)+64))
Wie Sie sehen können, wird die Formel ziemlich schnell lang, wenn Sie mehrere Zeichen für eine Spalte eingeben. Sie können die Formel jedoch verkürzen, indem Sie eine andere Funktion als COLUMN verwenden. Betrachten Sie diese Formel, die hauptsächlich auf der ADRESS-Funktion beruht:
=LEFT(ADDRESS(1,COLUMN(),4),(COLUMN()>26)+1)
Die Funktion ADRESSE gibt die Adresse einer bestimmten Zelle zurück. In diesem Fall wird die Adresse für die Zelle in der ersten Zeile der aktuellen Spalte zurückgegeben. Befindet sich die Formel also in Zelle BF27, wird BF1 zurückgegeben.
Die Formel verwendet die LEFT-Funktion, um die korrekte Anzahl der Zeichen ganz links in der Adresse abzüglich der Nummer 1 für die Zeile zurückzugeben.
Eine noch kürzere Version der Formel basiert auf der Funktion SUBSTITUTE anstelle der Funktion LEFT:
=SUBSTITUTE(ADDRESS(ROW(),COLUMN(),4),ROW(),"")
Diese Version verwendet die ROW-Funktion, um die Adresse zusammenzusetzen, und entfernt dann den ROW-Wert aus dem Ergebnis der ADDRESS-Funktion.
Natürlich können Sie auch eine makrobasierte Lösung verwenden, wenn Sie möchten. Das folgende Makro funktioniert mit jeder Spalte in Ihrem Arbeitsblatt:
Function AlphaCol() As String Dim J As Integer Dim K As Integer Dim iDiv As Integer Dim sTemp As String Application.Volatile J = Selection.Column iDiv = 26 ^ 2 sTemp = "" While J > 0 K = Int(J / iDiv) If K > 0 Then sTemp = sTemp & Chr(K + 64) J = J - (K * iDiv) iDiv = iDiv / 26 Wend AlphaCol = sTemp End Function
Das Makro ist eine benutzerdefinierte Funktion. Dies bedeutet, dass Sie es in Ihren Arbeitsblättern verwenden können, indem Sie es einfach einer beliebigen Zelle hinzufügen:
=AlphaCol()
Es wird eine Textzeichenfolge zurückgegeben, die aus der Spaltenbezeichnung besteht.
_Hinweis: _
Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.
ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.
Dieser Tipp (3254) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: