Pertanyaan ini didasarkan pada pengamatan AdamV dalam jawabannya tentang Bagaimana cara memasukkan nama hari ke dalam sel di Excel?
Ketika A1 memiliki nilai 2009-08-01, maka:
=WEEKDAY(A1)
akan mendapatkan7
=TEXT(7, "dddd")
akan mendapatkanSaturday
=TEXT(7,"dddd, yyyy-mm-dd")
akan mendapatkanSaturday, 1900-01-07
=TEXT(1,"dddd, yyyy-mm-dd")
akan mendapatkanSunday, 1900-01-01
=TEXT("1900-01-01","dddd, yyyy-mm-dd")
juga akan mendapatkanSunday, 1900-01-01
Dua yang terakhir salah: tanggal 1 Januari 1900 sebenarnya adalah hari Senin.
Berbagai sumber tampaknya menegaskan bahwa:
- Januari 1900 - Wikipedia, ensiklopedia gratis.
- Kalender Tahun 1900 - Belanda.
- Kalender Tahun 1900 - Amerika Serikat.
Apa yang saya lewatkan? Mengapa Excel melakukan kesalahan ini?
microsoft-excel
date
Jeroen Wiert Pluimer
sumber
sumber
Jawaban:
Seperti yang dijelaskan dalam Microsoft KB 214058 :
"Program spreadsheet lain" merujuk ke Lotus 1-2-3 , yang cukup populer saat itu, dan secara keliru menganggap bahwa tahun 1900 adalah tahun kabisat. Ini dijelaskan lebih detail lagi di KB 214326 :
sumber
Berikut adalah alasan yang dijelaskan oleh Joel sendiri: Ulasan BillG Pertama Saya
sumber
Salah satu solusi untuk ini adalah menambahkan 400 tahun ke tahun, untuk menyelesaikan hari kerja seperti dalam rumus berikut = WEEKDAY (DATE (A4 + 400, B4, C4), 1) jadi jika A4 = 1834 B4 = 12 C4 = 14 ini akan mengembalikan 1 (Minggu) yang sama dengan untuk 14 Desember 2234 Ini berhenti bekerja untuk tanggal sebelum 1753 tahun setelah perubahan ke kalender Gregorian
sumber