Fehlerhaftes Schaltjahr in Excel 2010

schaltjahr

Nach dem 1582 eingeführten und noch heute gültigen gregorianischen Kalender hat ein Jahr 365 Tage. Es ist die Zeitspanne des Umlaufes der Erde um die Sonne. Allerdings braucht die Erde nicht exakt 365 Tage, sondern 5 Stunden, 55 Minuten und 12 Sekunden länger. Dieser Überhang wird alle vier Jahre durch einen zusätzlichen Tag im Jahr, den 29. Februar, ausgeglichen. Wir sprechen dann von einem Schaltjahr. Unser Excel-Experte Thomas Bauernfeind erklärt, wie man ein Schaltjahr mit Excel berechnet, warum es dabei einen bemerkenswerten, gewollten Programmfehler gibt und worauf Sie bei der Berechnung achten sollten.

Die Regel

Alle vier Jahre haben wir ein Schaltjahr. Diese Regel kennt jeder. Sie ist aber nicht vollständig. Es ist ein Schaltjahr, wenn die Jahreszahl ohne Rest entweder

  • durch 4 aber nicht durch 100 teilbar oder
  • durch 400 teilbar

ist.

So wäre das Jahr 2000 nach der ersten Regel eigentlich kein Schaltjahr gewesen, wurde aber durch seine Teilbarkeit durch 400 zu einem solchen. Das nächste Jahr, das von der ganz einfachen „Alle-4-Jahre-Regel“ abweicht, erwartet uns im Jahr 2100, denn diese Zahl ist auch durch 100 teilbar. Und da sie andererseits nicht durch 400 teilbar ist, gibt es in diesem Jahr tatsächlich keinen 29. Februar.

Der Fehler in Excel

Soweit, so gut. Und was hat das alles mit Excel zu tun? In Excel sind Datumsangaben bekanntlich als mit einem Datumsformat versehene Zahlenwerte abgelegt, beginnend mit dem Tag 1 am 01.01.1900.

Nach oben stehender Logik war das Jahr 1900 kein Schaltjahr. In Excel können Sie aber einen 29.02.1900 eingeben und er wird auch als Datum erkannt. Das ist nicht korrekt, denn es hat ihn nie gegeben!

excel_schaltjahr_01

Es handelt sich hier um einen bewusst von Microsoft eingebauten Fehler, der in Excel (und auch schon im Excel-Vorgänger Multiplan) Kompatibilität herstellt zum Konkurrenzprodukt Lotus 1-2-3. Dies ist sogar in der Microsoft Knowledge Base unter https://support.microsoft.com/en-us/kb/214326 (in Englisch) dokumentiert.

Alle weiteren Schaltjahre werden korrekt berechnet. Die Auswirkungen sind also im heutigen Geschäftsalltag minimal.

Würde heute der Fehler korrigiert, so wären die Konsequenzen in Excel und auch in anderen Programmen, die Daten aus Excel übernehmen, laut Microsoft so weitreichend, dass bewusst keine Korrektur vorgenommen wird. So bleibt es bei der Fehlberechnung. Die einzige Konsequenz ist, dass Funktionen wie z.B. WOCHENTAG oder KALENDERWOCHE vor dem 01.03.1900 falsche Ergebnisse liefern.

Und wie geht Microsoft Access damit um?

In anderen Programmen z.B. Microsoft Access, ist dieser Fehler nicht enthalten. Dort beginnt die Zeitrechnung auch nicht am 01.01.1900 sondern deutlich früher am 01.01.100. Der Tag 1 ist dort bereits der 31.12.1899 und Datumsangaben davor sind als negative Zahlen gespeichert. Ein 29.02.1900 existiert in Access nicht!

excel_schaltjahr_02

Übernehmen Sie Daten durch Kopieren von Excel nach Access und die Daten sind aus dem Datumsbereich vor dem 01.03.1900, so erhalten Sie in Access jeweils um einen Tag nach vorne verschobene Datumsangaben, die Sie manuell oder per Abfrage korrigieren müssen.

Weitere Tipps zum Arbeiten mit Excel erhalten Sie in unseren 17 Excel-Seminaren, bei denen Sie hin und wieder Thomas Bauernfeind auch persönlich treffen können. Wir freuen uns auf Sie!

Beitrag drucken