DATEDIF 函數

附註: 我們想要以您的語言,用最快的速度為您提供最新的說明內容。 本頁面是經由自動翻譯而成,因此文中可能有文法錯誤或不準確之處。 讓這些內容對您有所幫助是我們的目的。 希望您能在本頁底部告訴我們這項資訊是否有幫助。 此為英文文章出處,以供參考。

計算兩個日期之間的天數、月數或年數。 警告: Excel 提供 DATEDIF 函數,以支援來自 Lotus 1-2-3 的較舊活頁簿。 不過在特定情況下,DATEDIF 函數可能會算出錯誤的結果。 如需詳細資料,請參閱本文的已知問題小節。

語法

DATEDIF(start_date,end_date,unit)

Start_date     代表期間的第一個,或開始,日期的日期。 可能會輸入日期 (例如,「 2001年/1/30") 的引號括起來的文字字串、 數列數字 (例如 36921,代表 2001 年 1 月 30 日,如果您使用 1900年日期系統),或其他公式或函數的結果 (例如,DATEVALUE("2001/1/30"))。

End_date     代表期間的最後一個,或結束日日期的日期。

附註: 我 f Start_date大於End_date,則結果為#NUM !

Unit     您想要傳回的資訊類型:

Unit

傳回

"Y"

期間內整年的年數。

"M"

期間內整月的月數。

"D"

期間內的日數。

"MD"

start_date 與 end_date 間的日差異。 日期中的月和年都會被忽略。

重要: 我們不建議使用 "MD" 引數,因為目前已知此引數有使用限制。 請參閱下列的已知問題一節。

"YM"

start_date 與 end_date 間的月差異。 日期中的日和年都會被忽略。

"YD"

start_date 與 end_date 間的日差異。 日期中的年會被忽略。

註解

  • 日期是以連續的序列值來儲存,以便用來執行計算。 根據預設,1899 年 12 月 31 日的序列值是 1,而 2008 年 1 月 1 日因為是 1900 年 1 月 1 日之後的第 39,448 天,所以其序列值是 39,448。

  • 若您需要計算年齡時,公式中的 DATEDIF 函數很有用。

範例

Start_date

End_date

公式

描述 (結果)

2001/1/1

2003/1/1

=DATEDIF(Start_date,End_date,"Y")

期間中的兩個整年 (2)

2001/6/1

2002/8/15

=DATEDIF(Start_date,End_date,"D")

2001 年 6 月 1 日到 2002 年 8 月 15 日之間共有 440天 (440)

2001/6/1

2002/8/15

=DATEDIF(Start_date,End_date,"YD")

忽略日期中的年,6 月 1 日到 8 月 15 日之間共有 75 天 (75)

已知問題

"MD" 引數可能會導致負數、零值或不正確的結果。 如果您嘗試計算從最終月份起算的剩餘天數,以下是因應措施:

=DATEDIF(D17,E17,"md") 且結果為:5

此公式會以 E17 儲存格中的原始結束日期 (5/6/2016) 減去結束月份的第一天 (5/1/2016)。 以下是公式計算的方式:首先,DATE 函數建立了日期:5/1/2016。 接著,它會使用 E17 儲存格中的年份,以及 E17 儲存格中的月份來產生結果。 而 1 則代表該月份的第一天。 DATE 函數的結果是 5/1/2016。 然後,我們會以 E17 儲存格中的原始結束日期減去上述結果,也就是 5/6/2016。 5/6/2016 減去 5/1/2016 等於 5 天。

增進您的 Office 技巧
探索訓練
優先取得新功能
加入 Office 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×