DATEDIF 函數

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021 Excel 2019 Excel 2016 Windows SharePoint Services 3.0

計算兩個日期之間的日數、月數或年數。

警告

  • Excel 提供 DATEDIF 函數,以支援來自 Lotus 1-2-3 的較舊活頁簿。 不過在特定情況下,DATEDIF 函數可能會算出錯誤的結果。 如需詳細資料,請參閱本文的已知問題小節。
  • 小提示: 如果你想知道兩個日期之間的天數,只需從較早日期減去較晚的日期即可。 這之所以有效,是因為日期在 Excel 中是以數字形式儲存。

語法

DATEDIF(start_date,end_date,unit)

引數 描述
start_date
必要
代表某一時期的第一個或起始日期的日期。 日期可以以引號內的文字字串輸入,例如「2001/1/30」 () ,序號 (例如36921(代表2001年1月30日),如果你使用1900日期系統) ,也可以作為其他公式或函式的結果,例如DATEVALUE (「2001/1/30」) ) (。
end_date
必要
代表該時期的最後或結束日期的日期。
Unit 您希望回傳的資訊類型,其中:單位****回傳Y」「該期間的完整年數。」M「該期間內的完整月份數。」D「該期間的天數。」MD:「start_date和end_date天的差別。 日期中的月和年都會被忽略。
重要: 我們不建議使用「多元醫學博士」這個論點,因為已知有其限制。 請參考下方已知問題章節。」YM「start_date月和end_date月的差異。 日期的日期和年份被忽略」「YD」start_date日與end_date日的差異。 日期中的年會被忽略。

註解

  • 日期是以連續的序列值來儲存,以便用來執行計算。 根據預設,1900 年 1 月 1 日是序列值 1,而 2008 年 1 月 1 日因為是 1900 年 1 月 1 日之後的第 39,447 天,所以其序列值是 39,448。
  • 若您需要計算年齡時,公式中的 DATEDIF 函數很有用。
  • 如果start_date大於end_date,結果將是 #NUM!

範例

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

需要更多協助嗎?

你隨時可以向 Excel 技術社群 的專家詢問,或在 社群中獲得支援。