乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 怎样用excel计算2个日期之间相差的月数-excel计算日期相差年数,excel计算日期

怎样用excel计算2个日期之间相差的月数-excel计算日期相差年数,excel计算日期

作者:乔山办公网日期:

返回目录:excel表格制作


在C1输入=IF((YEAR(A1)=YEAR(B1))*(MONTH(A1)=MONTH(B1)),0,(YEAR(B1)-YEAR(A1))*12+MONTH(B1)+IF(DAY(B1)-15>0,1,0.5)-(MONTH(A1)+IF(DAY(A1)-15>0,1,0.5)))+0.5
为了让你好理解,将公式拆解为如下:=IF(X,0,Y)如果条件X成立,返回0,否则返回Y
其中X为(YEAR(A1)=YEAR(B1))*(MONTH(A1)=MONTH(B1))意思是如果A1的年份和B1的相同且A1的月份和B1的月份相同每个等式会返回TRUE(真)后者FALSE(假),真*真为真,其他情况为假。e79fa5e98193e59b9ee7ad94335
Y为(YEAR(B1)-YEAR(A1))*12+MONTH(B1)+IF(DAY(B1)-15>0,1,0.5)-(MONTH(A1)+IF(DAY(A1)-15>0,1,0.5))+0.5简化为P-Q+0.5P为(YEAR(B1)-YEAR(A1))*12+MONTH(B1)+IF(DAY(B1)-15>0,1,0.5)Q为MONTH(A1)+IF(DAY(A1)-15>0,1,0.5)意思把A1、B1分别转化为两个小数,整数部分代表月,小数部分代表半个月。
Q好理解:A1的月份加上,如果A1的日比15大就是1,小于等于15为0.5。
P一样,只是考虑了年的影响:(YEAR(B1)-YEAR(A1))*12,即年份的差乘以12(1年12个月)
最后一个0.5是因为你要求连“皮”计算(比如1号到2号是几天,有人认为是1,有人认为是2-1+1共2天)。

        如果您要计算两个日期之间的整月,忽略剩余的天数,那么使用datedif函数

=DATEDIF(A1,B1,"m")

       如果您不忽略剩余天数,也就是说那怕整月后余一天,也要算作一个月zhidao那么使用text函数

=TEXT(B1-A1,"m")

        连个函数所得结果依次为7、8,看下图



  •                                                 datedif




  •                                                    text            


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之间相隔e69da5e887aae79fa5e981933381年、2个月、零5天,即14个月、零5天,总共相隔432天。



一、这可以用DATEDIF函数来完成。7a64e4b893e5b19e330

二、DATEDIF函数的定义
DATEDIF函数是Excel隐藏函数,在帮助和插入公式里面没有。 返回两个日期之间的年\月\日间隔数。常使用DATEDIF函数计算两日期之差。

语法
DATEDIF(start_date,end_date,unit)
Start_date 为一个日期,它代表时间段内的第一个日期或起始日期。
End_date 为一个日期,它代表时间段内的最后一个日期或结束日期。
Unit 为所需信息的返回类型。
Unit 返回
注:结束日期必须大于起始日期
下面举个小例子:在日常工作中非常实用。
假如A1单元格写的也是一个日期,那么下面的三个公式可以计算出A1单元格的日期和今天的时间差,分别是年数差,月数差,天数差。
注意下面公式中的引号和逗号括号都是在英文状态下输入的。
=DATEDIF(A1,TODAY(),"Y") 计算年数差
=DATEDIF(A1,TODAY(),"M") 计算月数差
=DATEDIF(A1,TODAY(),"D") 计算天数差
"Y" 时间段中的整年数。
"M" 时间段中的整月数。
"D" 时间段中的天数。
"MD" start_date 与 end_date 日期中天数的差。忽略日期中的月和年。
"YM" start_date 与end_date 日期中月数的差。忽略日期中的年。
"YD" start_date 与 end_date 日期中天数的差。忽略日期中的年。

三、实例说明

实例1:
题目: 计算出生日期为1973-4-1人的年龄
公式: =DATEDIF("1973-4-1",TODAY(),"Y")
结果: 33
简要说明 当单位代码为"Y"时,计算结果是两个日期间隔的年数.

实例2:
题目: 计算日期为1973-4-1和当前日期的间隔月份数.
公式: =DATEDIF("1973-4-1",TODAY(),"M")
结果: 403
简要说明 当单位代码为"M"时,计算结果是两个日期间隔的月份数.

实例3:
题目: 计算日期为1973-4-1和当前日期的间隔天数.
公式: =DATEDIF("1973-4-1",TODAY(),"D")
结果: 12273简要说明 当单位代码为"D"时,计算结果是两个日期间隔的天数.

实例4:
题目: 计算日期为1973-4-1和当前日期的不计年数的间隔天数.
公式: =DATEDIF("1973-4-1",TODAY(),"YD")
结果: 220
简要说明 当单位代码为"YD"时,计算结果是两个日期间隔的天数.忽略年数差

实例5:
题目: 计算日期为1973-4-1和当前日期的不计月份和年份的间隔天数.
公式: =DATEDIF("1973-4-1",TODAY(),"MD")
结果: 6
简要说明 当单位代码为"MD"时,计算结果是两个日期间隔的天数.忽略年数和月份之差

实例6:
题目: 计算日期为1973-4-1和当前日期的不计年份的间隔月份数.
公式: =DATEDIF("1973-4-1",TODAY(),"YM")
结果: 7
简要说明 当单位代码为"YM"时,计算结果是两个日期间隔的月份数.不计相差年数注意:TODAY()函数获取的是系统当前日期,所有列举的实例为2006-11-7日的计算结果,并不一定和你得到的结果相符。
四、假设开始日期写在A1单元格,结束日期写在B1单元格,要在C1单元格得出两个日期相差的年数和月数,则公式可以写成如下
=DATEDIF(A1,B1,"y")&"年"&DATEDIF(A1,B1,"ym")&"个月"

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网