2010年6月12日 星期六

Excel-計算是否為閏年

年的制訂是根據太陽的運動而來,一回歸年是指太陽在天上運行,連續兩次通過春分點的間隔時間,稱為一個回歸年(tropical year),實際長度為365.24219天,這是真正的一年長度。

曆法上的一年長度為365天,稱為一「曆年(calendar year)」,回歸年會比曆年多出0.24219天(相當於5.8小時),如此一來,累積4年後為0.96876天,接近一天,為修正之,故曆法中有「閏年」制度,每四年會在2月多29日一天。

然而,累積四年後多的0.96876天,與真正的一日尚差0.03124天,故如果不間斷地按四年一閏的方式修正,百年後將累積成365*100+25=36525日,又比真正的一世紀日數365.24219*100=36524.219多了一點點。因此曆法學家便重新規定閏年的規則為:西元年份

(1) 逢4的倍數為閏年。

(2) 逢100的倍數不是閏年。

(3) 逢400的倍數是閏年。

(4) 逢4000的倍數不是閏年。

以上資料取材於網路。

現在來分析1900年~9800年之間的閏年變化,參考下圖:

儲存格B2:=DATE(A2+1,1,1)-DATE(A2,1,1),將下一年的1/1減掉當年的1/1,可得當年的總日數。

其中發現1900年和4000年和8000年,並沒有符合上述的規則。

再以另一種方式來驗證,1900年、4000年、8000年理論上應該不是閏年,但Excel認為是閏年。

 

如果以公式=DATE(1901,1,1)來檢查這個日期所得的數值是367,然而:

輸入0.5的儲存格設定日期格式後,得到的是1900/1/0  12:00:00 PM

輸入 1 的儲存格設定日期格式後,得到的是1900/1/1  12:00:00 AM。

在Excel中,以1900/1/1設定格式星期幾顯示為週一。而以 Windows 7 的萬年曆來看,19001/1是星期一。而Windows 7 的萬年曆中顯示1900 年並不是閏年(2月份只有28天),而且2/1為週四。

不過從1900/3/1之後,Excel 的結果和 Windows 7 的萬年曆結果開始相符了。研究了老半天,我還是無法以Excel來驗證閏年的公式是否百分百適用。

沒有留言:

張貼留言

檢視其他文章

好康東東