Microsoft Excel

Das Portal zum Thema Excel-Formeln

Gruppe: Datum/Zeit

Beitrag: Wochentag eines Datums vor 1900 berechnen

Aufgabe
Die Bestimmung des Wochentages mit den Excelformeln ist auf Daten nach dem
01.01.1900 beschränkt. Um genau zu sein, ist es sogar so, dass für
Daten vor dem 01.03.1900 falsche Wochentage ausgegeben werden.

Wochentag("01.01.1900") gibt 1 aus, entsprechend Sonntag.
TEXT("01.01.1900";"TTTT") gibt Sonntag aus.
In Wirklichkeit war der 01.01.1900 ein Montag.

Das liegt an dem berüchtigten Fehler, dass Excel das Jahr 1900 als
Schaltjahr wertet.


Lösung
In B3 steht der Tag
In C3 steht der Monat
In D3 steht das Jahr

Dann lautet die Formel

=TEXT(REST(B3+KÜRZEN(((C3<3)*12+C3+1)*2,6)+KÜRZEN(D3-(C3<3)-KÜRZEN((D3-(C3<3))/100)*100)+KÜRZEN((KÜRZEN(D3-(C3<3)-KÜRZEN((D3-(C3<3))/100)*100))/4)+KÜRZEN(KÜRZEN((D3-(C3<3))/100)/4)-2*KÜRZEN((D3-(C3<3))/100);7);"TTTT")

In leicht abgewandelter Form kann auch für ein beliebiges Datum des
Julianischen Kalender der Wochentag berechnet werden.

Dann lautet die Formel

=TEXT(REST(B3+KÜRZEN(((C3<3)*12+C3+1)*2,6)+KÜRZEN(D3-(C3<3)-KÜRZEN((D3-(C3<3))/100)*100)+KÜRZEN((KÜRZEN(D3-(C3<3)-KÜRZEN((D3-(C3<3))/100)*100))/4)+5-KÜRZEN((D3-(C3<3))/100);7);"TTTT")

Diese Formel beruhen auf eine vom Mathematiker Ch. Zeller im Jahre 1886
veröffentlichte Kalenderformel.

Und das ganze verkürzte Peter Dorigo (unser Datums-Freak) auf:
=TEXT(DATUM(REST(D3;400)+100;C3;B3);"TTTT")


mit folgender Erweiterung von Ernst-Albrecht wird vermieden, daß ein ungültiges Datum eingegeben wird:
=WENN(TAG(DATUM(REST(D3;400)+100;C3;B3))=B3;TEXT(DATUM(REST(D3;400)+100;C3;B3);"TTTT");"Kein gültiges Datum")



Erläuterung
Achtung:
Wählt man den 29. Februar eines Jahres, das gar kein Schaltjahr ist, wird trotzdem ein Wochentag ausgegeben.
Mit Formel Nr.10 kann geprüft werden, ob das Jahr ein Schaltjahr ist.