Diese Frage stützt sich auf die Beobachtungen von AdamV im seine Antwort auf Wie bekomme ich den Tagnamen in eine Zelle in Excel?
Wenn A1 den Wert 2009-08-01 hat, dann:
=WEEKDAY(A1)
wird erhalten7
=TEXT(7, "dddd")
wird erhaltenSaturday
=TEXT(7,"dddd, yyyy-mm-dd")
wird erhaltenSaturday, 1900-01-07
=TEXT(1,"dddd, yyyy-mm-dd")
wird erhaltenSunday, 1900-01-01
=TEXT("1900-01-01","dddd, yyyy-mm-dd")
werde auch erhaltenSunday, 1900-01-01
Die letzten beiden sind falsch: Der 1. Januar 1900 ist eigentlich ein Montag.
Verschiedene Quellen scheinen das zu bestätigen:
- Januar 1900 - Wikipedia, die freie Enzyklopädie.
- Kalender von 1900 - Niederlande.
- Kalender von 1900 - Vereinigte Staaten.
Was vermisse ich? Warum macht Excel das falsch?
microsoft-excel
date
Jeroen Wiert Pluimers
quelle
quelle
Antworten:
Wie bei Microsoft beschrieben KB 214058 :
Die "anderen Tabellenkalkulationsprogramme" beziehen sich auf Lotus 1-2-3 , was damals sehr beliebt war und zu Unrecht davon ausgegangen ist, dass das Jahr 1900 ein Schaltjahr war. Dies wird in noch ausführlicher erläutert KB 214326 :
quelle
Hier ist der Grund, den Joel selbst erklärt hat: Mein erster BillG Review
quelle
Eine Lösung hierfür besteht darin, das Jahr um 400 Jahre zu verlängern, um den Wochentag wie in der folgenden Formel zu berechnen = WOCHENTAG (DATUM (A4 + 400, B4, C4), 1) also wenn A4 = 1834 B4 = 12 C4 = 14 dies würde 1 (Sonntag) zurückgeben Dies ist das gleiche wie für den 14. Dezember 2234 Dies gilt für Datumsangaben vor 1753 im Jahr nach der Änderung des Gregorianischen Kalenders
quelle