Excel 不正確地假設 1900 年是閏年
Microsoft Excel 錯誤地假設 1900 年是閏年。 本文說明為何將 1900 年視為閏年,並概述修正此特定問題時可能發生的行為。
第一次發行 Lotus 1-2-3 時,程式會假設 1900 年是閏年,即使實際上不是閏年也一樣。 這可讓程式更輕鬆地處理閏年,而且幾乎不會損害 Lotus 1-2-3 中的所有日期計算。
當 Microsoft Multiplan 和 Microsoft Excel 發行時,他們也假設 1900 是閏年。 此假設可讓 Microsoft Multiplan 和 Microsoft Excel 使用 Lotus 1-2-3 所使用的相同序列日期系統,並提供與 Lotus 1-2-3 的更相容性。 將 1900 視為閏年也可讓使用者更輕鬆地將工作表從一個程式移到另一個程式。
雖然技術上可以更正此行為,讓目前的 Microsoft Excel 版本不會假設 1900 是閏年,但這樣做的缺點大於優點。
如果要更正此行為,就會發生許多問題,包括:
- 目前 Microsoft Excel 工作表和其他文件中幾乎所有日期都會減少一天。 更正此轉變需要相當長的時間和精力,特別是在使用日期的公式中。
- 某些函式,例如 WEEKDAY 函式,會傳回不同的值;這可能會導致工作表中的公式運作不正確。
- 更正此行為會中斷 Microsoft Excel 與其他使用日期之程式之間的序列日期相容性。
如果行為仍未更正,則只會發生一個問題:
- WEEKDAY 函式傳回 1900 年 3 月 1 日之前日期的值不正確。 因為大部分的使用者不會使用 1900 年 3 月 1 日之前的日期,所以這個問題很少發生。
注意:Microsoft Excel 會正確處理所有其他閏年,包括不是閏年的百年 (例如 2100) 。 只會不正確地處理 1900 年。
如需判斷指定年份是否為閏年的詳細資訊,請參閱 判斷年份是否為閏年的方法。