To pytanie opiera się na spostrzeżeniach AdamV w odpowiedzi na pytanie Jak uzyskać nazwę dnia w komórce w programie Excel?
Gdy A1 ma wartość 2009-08-01, wówczas:
=WEEKDAY(A1)
otrzymam7
=TEXT(7, "dddd")
otrzymamSaturday
=TEXT(7,"dddd, yyyy-mm-dd")
otrzymamSaturday, 1900-01-07
=TEXT(1,"dddd, yyyy-mm-dd")
otrzymamSunday, 1900-01-01
=TEXT("1900-01-01","dddd, yyyy-mm-dd")
otrzymam równieżSunday, 1900-01-01
Dwa ostatnie są błędne: 1 stycznia 1900 r. To właściwie poniedziałek.
Różne źródła wydają się potwierdzać, że:
- 1900 styczeń - Wikipedia, wolna encyklopedia.
- Kalendarz roku 1900 - Holandia.
- Kalendarz roku 1900 - Stany Zjednoczone.
czego mi brakuje? Dlaczego Excel robi to źle?
microsoft-excel
date
Jeroen Wiert Pluimers
źródło
źródło
Odpowiedzi:
Jak opisano w Microsoft KB 214058 :
„Inne programy do obsługi arkuszy kalkulacyjnych” odnoszą się do Lotusa 1-2-3 , który był wówczas dość popularny i niepoprawnie zakładano, że rok 1900 był rokiem przestępnym. Jest to wyjaśnione bardziej szczegółowo w KB 214326 :
źródło
Oto powód wyjaśniony przez samego Joela: Mój pierwszy przegląd BillG
źródło
Jednym z rozwiązań jest dodanie 400 lat do roku, aby wypracować dzień tygodnia, jak w poniższym wzorze = WEEKDAY (DATA (A4 + 400, B4, C4), 1), więc jeśli A4 = 1834 B4 = 12 C4 = 14 zwróci to 1 (niedziela), czyli tyle samo co 14 grudnia 2234. To przestaje działać dla dat sprzed 1753 roku po zmianie kalendarza gregoriańskiego
źródło