🧮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
- Spalte XFD = Nr. 16384, Zeile 1048576
- R1C1-Schreibweise:
R1048576C16384 - In der Datei (0-basiert): rw = 1048575, col = 16383
Rückprobe: XFD → 16384. Nur in .xlsx/.xlsb möglich.
rest = (n − 1) mod 26.📐Wie viel größer ist .xlsx?
.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
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>
🐞 Diesen Tag gibt es nicht – 1900 war kein Schaltjahr. Excel zeigt ihn trotzdem an (Lotus-1-2-3-kompatibel).
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).