🧮Adressen, Grenzen und Datumswerte

Zwei Dinge, die in jeder Excel-Datei stecken und oft überraschen: Spaltenbuchstaben sind kein normales Zahlensystem, und ein Datum ist nur eine Zahl.

🔤Adressrechner A1 ↔ Spaltennummer

A1-Adresse → Nummern
X=24·262+F=6·261+D=4·260=16384
  • Spalte XFD = Nr. 16384, Zeile 1048576
  • R1C1-Schreibweise: R1048576C16384
  • In der Datei (0-basiert): rw = 1048575, col = 16383
.xls ✗ außerhalb IV65536.xlsx ✓ passt
Spaltennummer → Buchstaben
XFD

Rückprobe: XFD → 16384. Nur in .xlsx/.xlsb möglich.

Warum kein Basis-26-System? Es gibt keine Ziffer für 0: nach Z kommt AA, nicht „BA“. Beim Umrechnen zieht man darum vor jeder Division 1 ab:rest = (n − 1) mod 26.

📐Wie viel größer ist .xlsx?

.xls.xlsx / .xlsb1024 × so viele Zellen

.xls (BIFF8): 65 536 Zeilen × 256 Spalten (A–IV) = 16.777.216 Zellen. Zeile als 16-Bit-Zahl, Spalte als 8 Bit.

.xlsx/.xlsb: 1 048 576 Zeilen (220) × 16 384 Spalten (214, A–XFD) = 17.179.869.184 Zellen.

Faktor 16 bei den Zeilen und 64 bei den Spalten ergibt 1.024-mal so viele Zellen – im Bild entspricht jedes kleine Quadrat einem ganzen .xls-Blatt (32 × 32 = 1024).

CSV hat selbst keine Grenze – Excel lädt aber höchstens 1 048 576 Zeilen und schneidet den Rest mit einer Warnung ab.

📚 Quelle: Microsoft Support „Excel specifications and limits“; [MS-XLS] (Rw 16 Bit, Col 0–255); [MS-XLSB] BrtRowHdr (rw < 1 048 576).

📅Datums-Seriennummern

Excel speichert Datum und Uhrzeit als eine Zahl: Tage seit dem Nullpunkt plus Tagesbruchteil. Welcher Nullpunkt gilt, steht in der Datei (BIFF: DATEMODE 0x0022, XML: workbookPr date1904).
Datum → Seriennummer
45292,75

Ganzzahliger Teil = Tage, Nachkommastellen = Anteil am Tag (18:00 Uhr = 0,75). Montag.

Im XML: <c r="A1" s="1"><v>45292.75</v></c>

Seriennummer → Datum
29.02.1900

🐞 Diesen Tag gibt es nicht – 1900 war kein Schaltjahr. Excel zeigt ihn trotzdem an (Lotus-1-2-3-kompatibel).

Der Phantomtag im 1900-System
58
27.02.1900
59
28.02.1900
60
29.02.1900
61
01.03.1900
62
02.03.1900

Ab dem 01.03.1900 gilt: Seriennummer = Tage seit dem 30.12.1899. LibreOffice verwendet genau diesen Tag als Nullpunkt – und liegt deshalb nur für Januar/Februar 1900 um einen Tag neben Excel. Der größte Wert ist 2958465 = 31.12.9999. Das 1904-System (früher Standard auf dem Mac) beginnt mit 0 = 01.01.1904 und liegt genau 1462 Tage daneben: dasselbe Datum hat dort die Seriennummer 45292 − 1462 = 43830.

📚 Quelle: Microsoft Learn „Excel incorrectly assumes that the year 1900 is a leap year“; Microsoft Support „Date systems in Excel“; ECMA-376 Teil 1 §18.17.4 (Datumswerte).