DATEDIF函数可以返回两个日期之间的年\月\日间隔数。使用DATEDIF函数可以计算两日期之差。函数结构为:
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型(注:结束日期必须大于起始日期),使用方法通常如下:
=DATEDIF(A1,TODAY(),"Y")计算年数差
=DATEDIF(A1,TODAY(),"M")计算月数差
=DATEDIF(A1,TODAY(),"D")计算天数差
所以如果要返回2个日期的月数,则unit的类型为"M"即可,例如:计算2015-9-11和2015-12-3之间的月数,输入函数DATEDIF(A1,B1,"M")即可,当然这里的月数是忽略天数的,只计算月数之差
Excel中计算两个日期之间的月数需要用到日期函数:DATEDIF,该函数能够计算两个日期之间的相差的年数、月数、天数。
函数及参数说明
函数:DATEDIF(start_date,end_date,unit)
Start_date:为一个日期,它代表时间段内的第一个日期或起始日期。
End_date:为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit:为所需信息的返回类型。
Unit取不同值的含意:
"Y"——时间段中的整年数。
"M"——时间段中的整月数。
"D"——时间段中的天数。
"YM"——start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD"——start_date 与 end_date 日期中天数的差。忽略日期中的年。
"MD"——start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
举例说明。
开始日期:2012/12/21
结束日期:2014/2/26
在单元格C2中输入公式 =DATEDIF(A2,B2,"Y")
在单元格D2中输入公式 =DATEDIF(A2,B2,"YM")
在单元格E2中输入公式 =DATEDIF(A2,B2,"MD")
在单元格F2中输入公式 =DATEDIF(A2,B2,"D")
结果说明。
2012/12/21与2014/2/26之间相隔1年、2个月、零5天,即14个月、零5天,总共相隔432天。
一、函数及参数说明
函数:DATEDIF(start_date,end_date,unit)
Start_date:为一个日期,它代表时间段内的第一个日期或起始日期。
End_date:为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit:为所需信息的返回类型。
Unit取不同值的含意:
"Y"——时间段中的整年数。
"M"——时间段中的整月数。
"D"——时间段中的天数。
"YM"——start_date 与 end_date 日期中月数的差。忽略日期中的日和年。
"YD"——start_date 与 end_date 日期中天数的差。忽略日期中的年。
"MD"——start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
二、举例说明。
开始日期:2012/12/21
结束日期:2014/2/26
在单元格C2中输入公式“=DATEDIF(A2,B2,"Y")”,注意不包含最外面的双引号;
在单元格D2中输入公式“=DATEDIF(A2,B2,"YM")”;
在单元格E2中输入公式“=DATEDIF(A2,B2,"MD")”;
在单元格F2中输入公式“=DATEDIF(A2,B2,"D")”。
三、结果说明。
2012/12/21与2014/2/26之间相隔1年、2个月、零5天,即14个月、零5天,总共相隔432天。
=INT((E2-D2)/365)&"年"
=DATEDIF(E2,D2,"y") 表示有多少“年”,=DATEDIF(E2,D2,"m") 表示有多少个“月”
根据实际情况修改单元格区域
不足月的部分你给出了规则,问题是足月怎么算?是按照自然月来算,还是按30天算一个月,这个需要用到不同的函数。试一下这个公式是不是你要的结果:
=DATEDIF(A1,B1,"m")+LOOKUP(MOD(DAY(B1-A1),31),{0,10,20},{0,0.5,1})
补充:A1是起始日期,B1是截至日期;另外要将公式所在的单元格格式改为数字