[SL] Warum Excel seit 34 Jahren denkt, dass 1900 ein Schaltjahr war

Excel hat einen lange bekannten Fehler: es behandelt 1900 als Schaltjahr, in der Welt von Excel gibt es also den nicht existenten 29. Februar 1900. Auch wenn es obskur scheint, es stolpern immer wieder Leute über dieses Problem–kein Wunder bei Millionen Excel-Anwendern.

Der Fehler wurde 1985 bewusst in die erste Version von Excel eingebaut, um kompatibel zum damaligen Marktführer Lotus 1-2-3 zu sein. Microsoft wollte Lotus 1-2-3 Marktanteile abnehmen, also mussten sich Tabellen aus 1-2-3 problemlos in Excel verwenden lassen.

Lotus 1-2-3 ist längst obsolet geworden, der Fehler ist aber immer noch da. Warum?

In Excel werden Datumswerte intern als Zahlen abgelegt, der erste Januar 1900 ist dabei Tag 1. Das ist praktisch, weil man so einfach berechnen kann, wieviele Tage zwischen zwei Daten liegen: einfach die Tages-Nummern voneinander abziehen. Wenn man jetzt den ungültigen Tag 29. Februar 1900 abschaffen würde, müssten sich alle Tages-Nummern ab dem 1.3.1900 um 1 verschieben. Excel hat für heute (24.4.2019) die Tages-Nummer 43579, nach der Korrektur wäre es eins weniger, also 43578. Diese Nummern müssten in allen Excel-Tabellen angepasst werden, genauso wäre die Berechnung des Wochentages umzustellen, externe Programme würden noch die alte Nummerierung verwenden usw. usw. Das würde bei den Excel-Anwendern viel höhere Kosten und mehr Probleme verursachen, als den jetzigen Zustand beizubehalten. Und so wird Excel wohl auch in Zukunft das Jahr 1900 für ein Schaltjahr halten.

Die Gründe für den Excel-Fehler sind heute immer noch dieselben wie im Jahre 1985: Kompatibilität zu bestehender Software (heute: ältere Excel-Versionen) und zu vorhandenen Dokumenten (die Millionen von Excel-Tabellen da draußen). Nicht mehr kompatibel zu sein, würde einen gigantischen Folge-Aufwand nach sich ziehen, der nicht zu rechtfertigen ist.

Solche Abhängigkeiten machen es manchmal mühsam, neue Systeme einzuführen: Eigentlich möchte man einige lästige Probleme des Altsystems endlich mal loswerden, alte Zöpfe abschneiden. Aber: Je mehr externe Systeme und Prozesse sich auf ein gewisses Detail des Altsystems verlassen, desto größer ist der Druck, dieses Detail beizubehalten. Der Zopf bleibt dran – sieht nicht so gut aus, aber die Alternative ist (leider) viel zu teuer.

Matthias Berth

Alle Emails