
Ich habe Zeichenfolgen in Excel wie AA
oder XA
.
Ich muss sie folgendermaßen erhöhen:
Denn AA
in Zelle A1 wird es AB
in Zelle B1 sein, AC
in Zelle B2 und so weiter.
Denn XA
in Zelle A1 wird es XB
in Zelle B1 sein, XC
in Zelle B2 und so weiter.
Ich habe den gängigen Code ausprobiert =CHAR(CODE(A1)+1)
, aber er funktioniert nach Z nicht.
Alle Hinweise sind willkommen.
Antwort1
Versuchen Sie Folgendes: Geben Sie "AA" in die Zelle ein.A1und geben Sie die folgende Formel in die Zelle einB1und ziehen Sie über
=IF(RIGHT($A1,1)="Z", CHAR(CODE(LEFT(A1,1))+1),LEFT(A1,1))&CHAR(65+MOD(CODE(RIGHT(A1,1))+1-65,26))
Es wird wie folgt hochgezählt: AA, AB, AC, ..., AZ, BA, BB, BC... usw.
Möglicherweise möchten Sie diese Formel an Ihre spezielle Präsentation anpassen. Bitte beachten Sie, dass sie über „ZZ“ hinaus nicht funktioniert.
Update: Fehler behoben
Antwort2
Wir können die Excel-Tabelle selbst verwenden, um die Buchstaben hochzuzählen. Die Hochrechnung erfolgt von A
bisXFC
Erstellen Sie zuerst den Zellbezug: INDIRECT(A1&"1")
Suchen Sie dann die Adresse der nächsten Spalte über: ADDRESS(1,COLUMN(INDIRECT(A10&"1"))+1)
Dann extrahieren wir aus $??$1 die Buchstaben: 2 Möglichkeiten:
Suchen Sie nach dem zweiten $ und schneiden Sie den Text dazwischen aus
=MID(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2,FIND("$",ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),2)-2)
Ersetzen Sie die 1 und das $ durch nichts in der Zeichenfolge.
=SUBSTITUTE(SUBSTITUTE(ADDRESS(1,COLUMN(INDIRECT(A1&"1"))+1),"$",""),"1","")
Wählen Sie aus, was für Sie am besten geeignet ist
Antwort3
Ein weiteres Beispiel: Geben Sie dies in Zelle A1 ein und kopieren Sie dann die Formel in eine oder alle Zellen.
=CHAR(MOD(ZEILE(A1)-1;26)+65)&CHAR(MOD(SPALTE(A1)-1;26)+65)
Soll ein Beispiel dafür sein, wie man über das Problem nachdenken kann.
Antwort4
Eine andere Lösung hierfür ADDRESS()
ist die Verwendung von:
=MID(ADDRESS(1,26+ROW()),2,2)
AA
Die obige Formel wird in der ersten Zeile, AB
in der zweiten Zeile usw. zurückgegeben .
Auch bei Verwendung von Mathematik lautet die Formel:
=CONCATENATE(CHAR(INT(ROW()/26)+65),CHAR(MOD(ROW()-1,26)+65))