DATEDIF函数能够计算两个日期之差。
图1
什么情况下使用DATEDIF函数?
DATEDIF函数根据指定的时间单位返回两个日期相差的年数、月数或者天数。它能够:
计算年龄或工龄
计算月数或天数
仅计算天数或月数差
精确计算两个日期之间的时间差
DATEDIF函数语法
DATEDIF函数有3个参数,其语法如下:
DATEDIF(start_date,end_date,unit)
start_date:指定开始日期。
end_date:指定结束日期。
unit:指定时间单位。其中,“y”计算完整的年数;“m”计算完整的月数;“d”计算天数;“ym”忽略年和日,计算完整的月数;“yd”忽略年,计算天数;“md”忽略年和月,计算天数。
DATEDIF函数陷阱
在时间单位中应包括双引号(””),否则会产生错误#NAME?。开始时间应早于结束时间,否则会产生错误#NUM!。
DATEDIF是一个隐藏的函数,在Excel的插入函数中找不到DATEDIF函数,Microsoft提供这个函数是与Lotus 1-2-3兼容。
示例1: 计算年龄或工龄
如下图2所示,根据单元格C2给出的出生日期计算年龄:
=DATEDIF(C2,TODAY(),'y')
图2
与上面相同,DATEDIF函数用于计算工龄。如图3所示,根据单元格C2中的入职日期来计算工龄:
=DATEDIF(C2,TODAY(),'y')
图3
示例2:计算月数或天数
如图4所示,单元格C4中的公式计算两个日期之间的整月数:
=DATEDIF(C2,C3,'m')
单元格C5中的公式计算两个日期之间的天数:
=DATEDIF(C2,C3,'d')
图4
示例3:仅计算天数或月数差
如图5所示,忽略年月计算日期间的天数:
=DATEDIF(C2,C3,'md')
忽略年计算日期间的天数:
=DATEDIF(C2,C3,'yd')
忽略年日计算日期间的月数:
=DATEDIF(C2,C3,'ym')
图5
示例4:精确计算两个日期之间的间隔时间
使用DATEDIF函数与YEAR函数、MONTH函数和DAY函数配合,准确地计算两个日期之间的间隔时间。如图6所示,计算两个日期之间相差几年几月:
=DATEDIF(C2,C3,'y')& '年' &DATEDIF(C2,C3,'ym') & '个月'
计算两个日期之间相差几年几天:
=DATEDIF(C2,C3,'y')& '年' &C3-DATE(YEAR(C2) DATEDIF(C2,C3,'y'),MONTH(C2),DAY(C2)) & '天'
计算两个日期之间相差几年几周几天:
=DATEDIF(C2,C3,'y')&'年'&INT((C3-DATE(YEAR(C2) DATEDIF(C2,C3,'y'),MONTH(C2),DAY(C2)))/7)&'周'&MOD((C3-DATE(YEAR(C2) DATEDIF(C2,C3,'y'),MONTH(C2),DAY(C2))),7)&'天'
计算两个日期之间相差几年:
=DATEDIF(C2,C3,'y') (C3-DATE(YEAR(C2) DATEDIF(C2,C3,'y'),MONTH(C2),DAY(C2)))/(DATE(YEAR(C2) DATEDIF(C2,C3,'y') 1,MONTH(C2),DAY(C2))-DATE(YEAR(C2) DATEDIF(C2,C3,'y'),MONTH(C2),DAY(C2)))
计算两个日期之间相差几年几月几日:
=DATEDIF(C2,C3,'y')& '年' &DATEDIF(C2,C3,'ym') & '个月' &DATEDIF(C2,C3,'md') & '天'
图6
联系客服