各位網友您好
小弟想詢問一個問題
關於Excel日期計算的使用
每個月我只設定30天,二月份為28(閏年為29天)。
例如:2006/1/2 ~ 2006/3/1 總共 58天
Excel表格內該如何輸入呢?
謝謝大家
2006-12-16 19:16:21 · 2 個解答 · 發問者 尋找奇蹟 1 in 電腦與網際網路 ➔ 軟體
~無止盡ㄉ等待與傷害~
您好
非常感謝您的解答
但是
假設我的日期為 2006/12/20 ~ 2007/4/15 應該要是114天
運用您的公式,算出來為114天,是哪裡出問題了?
2006-12-17 10:04:30 · update #1
A B C
12006/12/20 2007/4/15 114
C1=B1-A1+1-(2006/12/20 ~ 2007/4/15 內日期有31日)
C1=B1-A1+1-SUM(--((DAY(A1-1+ROW(A1:A117)))=31))
A1-1是因ROW(A1:A117)第一個數是1 ;{1,2,3.......116,117}
A1-1+1才為原來的起始日
117=B1-A1+1
修改公式:
C1=B1-A1+1-SUMPRODUCT(--((DAY(A1-1+ROW(INDIRECT("A1:A"&B1-A1+1))))=31))
DAY
傳回日期的天數,以序列號碼表示之。日數的有效範圍是 1 到 31 之間的整數。
此為陣列公式固將SUM改為SUMPRODUCT
INDIRECT
傳回一文字串所指定的參照位址。
2006-12-17 14:33:40 · answer #1 · answered by 顯栓 7 · 0⤊ 0⤋
期實依Trump Blanco大大講ㄉ就能算出結果ㄌ
只是算完後會以日期ㄉ形式呈現,還需再將儲存格ㄉ格式更改為” G/通用格式”或是”數值”才能顯現天數
加個TEXT()ㄉ公式會省ㄌ計算完畢後轉換儲存格ㄉ步驟,供你參考看看
假設A3為你起始日期,B3為結束日期,C3為相差天數
妳可以在C3輸入以下公式即可達到你ㄉ要求又不用換算完後再去更改格式:
=TEXT(B3-A3,"0_ ")
圖片參考:http://img237.imageshack.us/img237/6403/001hp4.png
希望能幫助你^^
圖片參考:http://img59.imageshack.us/img59/7316/hqp7.gif
2006-12-17 16:15:58 補充:
2006/12/20 ~ 2007/4/15利用上列公式【=TEXT(B1-A1,"0_ ")】算出結果是:116天
因為日期直接相減算出來是不包含截止日當天
如果含截止日都算進去ㄉ話公式須改為:
=TEXT(B3-A3,"0_ ") 1
這樣算起來為:117天
而版大想要算ㄉ結果為:114
因為12月、1月、3月為大月都是31天
所以才會有這3天ㄉ差異,所以如果你要每個月已30天計算且自動判斷是否為閏年,就須在公式後面減掉跨過幾個大月(31日)再【 1】才是你所要ㄉ答案
2006-12-17 16:16:42 補充:
在Excel中換算日期天數常用ㄉ方式有兩種:
第一種為上述方式,日期直接相減,這種算法最準確,他會自動判斷各月份ㄉ實際天數與是否為閏年,但其所算出之值是不包含截止日當天ㄉ
第二種是利用【DAYS360(start_date,end_date,method)】這個函數來計算,他是以一年12個月,ㄧ個月有30日來換算,12月*30日=360天,如果你有要詳細計算2月份是28還是29日會比較有錯誤
所以還是要你自己去衡量哪個比較適合你ㄉ需求
2006-12-17 04:55:49 · answer #2 · answered by ~無止盡ㄉ等待與傷害~ 6 · 0⤊ 0⤋