Inhaltsverzeichnis
In diesem Tutorial werden wir uns ansehen, wie man in Excel Spaltennummern in die entsprechenden alphabetischen Zeichen umwandelt.
Bei der Erstellung komplexer Formeln in Excel kann es vorkommen, dass Sie einen Spaltenbuchstaben aus einer bestimmten Zelle oder aus einer bestimmten Zahl ableiten müssen. Dies kann auf zwei Arten geschehen: mit Hilfe integrierter oder benutzerdefinierter Funktionen.
Umwandlung der Spaltennummer in das Alphabet (Spalten mit einem Buchstaben)
Wenn der Spaltenname aus einem einzigen Buchstaben von A bis Z besteht, können Sie ihn mit dieser einfachen Formel ermitteln:
CHAR(64 + Spalte_Anzahl )Um zum Beispiel die Zahl 10 in einen Spaltenbuchstaben umzuwandeln, lautet die Formel:
=CHAR(64 + 10)
Es ist auch möglich, eine Zahl in eine Zelle einzugeben und in Ihrer Formel auf diese Zelle zu verweisen:
=CHAR(64 + A2)
Wie diese Formel funktioniert:
Die Funktion CHAR gibt ein Zeichen zurück, das auf dem Zeichencode im ASCII-Satz basiert. Die ASCII-Werte der Großbuchstaben des englischen Alphabets sind 65 (A) bis 90 (Z). Um den Zeichencode des Großbuchstabens A zu erhalten, addieren Sie also 1 zu 64; um den Zeichencode des Großbuchstabens B zu erhalten, addieren Sie 2 zu 64 usw.
Excel-Spaltennummer in Buchstaben umwandeln (beliebige Spalte)
Wenn Sie eine vielseitige Formel suchen, die für jede Spalte in Excel funktioniert (1 Buchstabe, 2 Buchstaben und 3 Buchstaben), dann müssen Sie eine etwas komplexere Syntax verwenden:
SUBSTITUTE(ADRESSE(1, Spalte_Anzahl , 4), "1", "")Mit dem Spaltenbuchstaben in A2 hat die Formel diese Form:
=SUBSTITUTE(ADRESSE(1, A2, 4), "1", "")
Wie diese Formel funktioniert:
Zunächst konstruieren Sie eine Zelladresse mit der gewünschten Spaltennummer, indem Sie der Funktion ADDRESS die folgenden Argumente übergeben:
- 1 für zeilen_nummer (die Zeilennummer spielt keine Rolle, Sie können also jede beliebige verwenden).
- A2 (die Zelle, die die Spaltennummer enthält) für spalte_num .
- 4 für abs_num Argument, um eine relative Referenz zurückzugeben.
Mit den oben genannten Parametern gibt die Funktion ADDRESS als Ergebnis die Zeichenkette "A1" zurück.
Da wir nur einen Spaltenbuchstaben benötigen, entfernen wir die Zeilennummer mit Hilfe der Funktion SUBSTITUTE, die im Text "A1" nach "1" (oder der Zeilennummer, die Sie in der Funktion ADDRESS hartcodiert haben) sucht und sie durch eine leere Zeichenfolge ("") ersetzt.
Spaltenbuchstabe aus Spaltennummer mit benutzerdefinierter Funktion ermitteln Benutzerdefinierte Funktion
Wenn Sie regelmäßig Spaltennummern in alphabetische Zeichen umwandeln müssen, kann Ihnen eine benutzerdefinierte Funktion (UDF) viel Zeit sparen.
Der Code der Funktion ist ziemlich einfach und überschaubar:
Public Function ColumnLetter(col_num) ColumnLetter = Split(Cells(1, col_num).Address, "$" )(1) End FunctionHier verwenden wir die Zellen auf eine Zelle in Zeile 1 und die angegebene Spaltennummer verweisen und die Eigenschaft Adresse Die Funktion Split zerlegt die zurückgegebene Zeichenkette in einzelne Elemente, wobei das $-Zeichen als Trennzeichen verwendet wird, und gibt das Element (1) zurück, d. h. den Spaltenbuchstaben.
Fügen Sie den Code in den VBA-Editor ein, und Ihre neue ColumnLetter Eine ausführliche Anleitung finden Sie unter: Wie man VBA-Code in Excel einfügt.
Aus der Sicht des Endbenutzers ist die Syntax der Funktion so einfach wie folgt:
SpalteBuchstabe(Spalte_Zahl)Wo Spalte_Zahl ist die Spaltennummer, die Sie in einen Buchstaben umwandeln wollen.
Ihre tatsächliche Formel kann wie folgt aussehen:
=SpaltenBuchstabe(A2)
Und sie liefert genau die gleichen Ergebnisse wie die im vorherigen Beispiel beschriebenen nativen Excel-Funktionen:
Wie erhalte ich den Spaltenbuchstaben einer bestimmten Zelle?
Um einen Spaltenbuchstaben einer bestimmten Zelle zu identifizieren, verwenden Sie die Funktion SPALTE, um die Spaltennummer abzurufen, und übergeben Sie diese Nummer an die Funktion ADRESSE. Die vollständige Formel sieht dann so aus:
SUBSTITUTE(ADRESSE(1, SPALTE( zelle_adresse ), 4), "1", "")Lassen Sie uns als Beispiel einen Spaltenbuchstaben der Zelle C5 suchen:
=SUBSTITUTE(ADDRESS(1, COLUMN(C5), 4), "1", "")
Offensichtlich ist das Ergebnis "C" :)
Wie erhalte ich den Spaltenbuchstaben der aktuellen Zelle?
Der einzige Unterschied besteht darin, dass die Funktion SPALTE() mit einem leeren Argument verwendet wird, um auf die Zelle zu verweisen, in der sich die Formel befindet:
=SUBSTITUTE(ADRESSE(1, SPALTE(), 4), "1", "")
Wie erstellt man eine Referenz für den dynamischen Bereich aus der Spaltennummer?
Hoffentlich haben Ihnen die vorangegangenen Beispiele einige neue Denkanstöße gegeben, aber vielleicht fragen Sie sich auch nach den praktischen Anwendungen.
In diesem Beispiel zeigen wir Ihnen, wie Sie die Formel "Spaltennummer zu Buchstabe" für die Lösung von realen Aufgaben verwenden können. Insbesondere werden wir eine dynamische XLOOKUP-Formel erstellen, die Werte aus einer bestimmten Spalte auf der Grundlage ihrer Nummer zieht.
Nehmen wir an, Sie möchten eine Gewinnzahl für ein bestimmtes Projekt (H2) und eine bestimmte Woche (H3) aus der folgenden Beispieltabelle ermitteln.
Da wir nur die Wochennummer haben, die der Spaltennummer entspricht, wandeln wir diese Nummer zunächst in einen Spaltenbuchstaben um und konstruieren dann den Bereichsbezug.
Der Einfachheit halber werden wir den gesamten Prozess in 3 leicht zu befolgende Schritte unterteilen.
- Umwandlung einer Spaltennummer in einen Buchstaben
Für die Spaltennummer in H3 verwenden Sie die bereits bekannte Formel, um sie in ein alphabetisches Zeichen zu ändern:
=SUBSTITUTE(ADRESSE(1, H3, 4), "1", "")
Tipp: Wenn die Nummer in Ihrem Datensatz nicht mit der Spaltennummer übereinstimmt, müssen Sie die erforderliche Korrektur vornehmen. Wenn wir beispielsweise die Daten der Woche 1 in Spalte B, die Daten der Woche 2 in Spalte C usw. hätten, würden wir H3+1 verwenden, um die richtige Spaltennummer zu erhalten.
- Konstruieren Sie eine Zeichenkette, die eine Bereichsreferenz darstellt
Um einen Bereichsbezug in Form einer Zeichenkette zu erstellen, verketten Sie den von der obigen Formel zurückgegebenen Spaltenbuchstaben mit der ersten und letzten Zeilennummer. In unserem Fall befinden sich die Datenzellen in den Zeilen 3 bis 8, daher verwenden wir diese Formel:
=SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"
Da H3 eine "3" enthält, die in ein "C" umgewandelt wird, erfährt unsere Formel die folgende Transformation:
="C"&"3:"&"C"&"8"
Und ergibt die Zeichenfolge C3:C8.
- Erstellen Sie eine Referenz für den Dynamikbereich
Um eine Textzeichenfolge in eine gültige Referenz umzuwandeln, die Excel versteht, schachteln Sie die obige Formel in die Funktion INDIRECT ein und übergeben sie dann an das dritte Argument von XLOOKUP:
=XLOOKUP(H2, E3:E8, INDIRECT(H4), "Nicht gefunden")
Um eine zusätzliche Zelle mit der Zeichenfolge für den Rückgabebereich loszuwerden, können Sie die Formel SUBSTITUTE ADDRESS innerhalb der Funktion INDIRECT selbst platzieren:
=XLOOKUP(H2, E3:E8, INDIRECT(SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "3:" & SUBSTITUTE(ADDRESS(1, H3, 4), "1", "") & "8"), "Nicht gefunden")
Mit unserer benutzerdefinierten ColumnLetter-Funktion können Sie eine kompaktere und elegantere Lösung erhalten:
=XLOOKUP(H2, E3:E8, INDIRECT(ColumnLetter(H3) & "3:" & ColumnLetter(H3) & "8"), "Nicht gefunden")
So finden Sie einen Spaltenbuchstaben aus einer Zahl in Excel. Ich danke Ihnen für die Lektüre und freue mich darauf, Sie nächste Woche in unserem Blog zu sehen!
Übungsheft zum Herunterladen
Excel-Spaltennummer zu Buchstabe - Beispiele (.xlsm-Datei)