![]() |
|||||
Datum/Zeit (1) -> Wochentag eines Datums vor 1900 berechnen (306) Autor: Peter Dorigo |
|||||
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. |
|||||
|
zurück
|
|||||
| powered by telltarget | |||||