計(jì)算兩個(gè)日期之間相隔的天數(shù)、月數(shù)或年數(shù)。
警告: Excel 提供了 DATEDIF 函數(shù),以便支持來(lái)自 Lotus 1-2-3 的舊版工作簿。 在某些應(yīng)用場(chǎng)景下,DATEDIF 函數(shù)計(jì)算結(jié)果可能并不正確。 有關(guān)詳細(xì)信息,請(qǐng)參閱本文中的“已知問(wèn)題”部分。
語(yǔ)法
DATEDIF(start_date,end_date,unit)
參數(shù)
|
說(shuō)明
|
start_date
必需
|
表示給定期間的第一個(gè)或開(kāi)始日期的日期。 日期值有多種輸入方式:帶引號(hào)的文本字符串(例如 "2001/1/30")、序列號(hào)(例如 36921,在商用 1900 日期系統(tǒng)時(shí)表示 2001 年 1 月 30 日)或其他公式或函數(shù)的結(jié)果(例如 DATEVALUE("2001/1/30"))。
|
end_date
必需
|
用于表示時(shí)間段的最后一個(gè)(即結(jié)束)日期的日期。
|
Unit
|
要返回的信息類型,其中:
Unit
|
返回結(jié)果
|
"Y"
|
一段時(shí)期內(nèi)的整年數(shù)。
|
"M"
|
一段時(shí)期內(nèi)的整月數(shù)。
|
"D"
|
一段時(shí)期內(nèi)的天數(shù)。
|
"MD"
|
start_date 與 end_date 之間天數(shù)之差。 忽略日期中的月份和年份。
重要: 不推薦使用“MD”參數(shù),因?yàn)榇嬖谙嚓P(guān)已知限制。 參閱下面的“已知問(wèn)題”部分。
|
"YM"
|
start_date 與 end_date 之間月份之差。 忽略日期中的天和年份
|
"YD"
|
start_date 與 end_date 的日期部分之差。 忽略日期中的年份。
|
|
備注
-
日期存儲(chǔ)為可用于計(jì)算的序列號(hào)。 默認(rèn)情況下,1900 年 1 月 1 日的序列號(hào)為 1,2008 年 1 月 1 日的序列號(hào)為 39,448,這是因?yàn)樗?1900 年 1 月 1 日有 39,447 天。
-
DATEDIF 函數(shù)在用于計(jì)算年齡的公式中很有用。
-
如果tart_date大于end_date,則結(jié)果將為#NUM!。
示例
start_date
|
end_date
|
公式
|
描述(結(jié)果)
|
1/1/2001
|
1/1/2003
|
=DATEDIF(Start_date,End_date,"Y")
|
一段時(shí)期內(nèi)的兩個(gè)整年 (2)
|
6/1/2001
|
8/15/2002
|
=DATEDIF(Start_date,End_date,"D")
|
2001 年 6 月 1 日和 2002 年 8 月 15 日之間的天數(shù)為 440 (440)
|
6/1/2001
|
8/15/2002
|
=DATEDIF(Start_date,End_date,"YD")
|
忽略日期中的年份,6 月 1 日和 8 月 15 日之間的天數(shù)為 75 (75)
|
已知問(wèn)題
“MD”參數(shù)可能導(dǎo)致出現(xiàn)負(fù)數(shù)、零或不準(zhǔn)確的結(jié)果。 若要計(jì)算上一完整月份后余下的天數(shù),可使用如下方法:
此公式從單元格 E17 中的原始結(jié)束日期 (5/6/2016) 減去當(dāng)月第一天 (5/1/2016)。 其原理如下:首先,DATE 函數(shù)會(huì)創(chuàng)建日期 5/1/2016。 DATE 函數(shù)使用單元格 E17 中的年份和單元格 E17 中的月份創(chuàng)建日期。 1 表示該月的第一天。 DATE 函數(shù)的結(jié)果是 5/1/2016。 然后,從單元格 E17 中的原始結(jié)束日期(即 5/6/2016)減去該日期。 5/6/2016 減 5/1/2016 得 5 天。
|