excel中怎样计算两个日期相差的年月数

如题所述

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

二、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")&"个月"
温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2019-02-16
计算两个日期的差,我们通常使用datedif()函数。
DATEDIF函数是Excel隐藏函数,在帮助和插入公式里面没有。 返回两个日期之间的年\月\日间隔数。
其语法如下:
DATEDIF(开始日期,结束日期,返回类型)
返回类型有6种,分别为:
"Y" 时间段中的整年数。

"M" 时间段中的整月数。

"D" 时间段中的天数。

"MD" 开始日期 与 结束日期 不计月数的间隔天数。

"YM" 开始日期 与 结束日期 不计年数的间隔月数。

"YD" 开始日期 与 结束日期 不计年数的间隔天数。
实例:
1、计算“1985-6-3”出生人的周岁年龄:
=DATEDIF("1985-10-3",today(),"Y")
结果:30(今天的日期为2016-9-12,下同)
2、计算“1985-10-3”到今天的整月数:
=DATEDIF("1985-10-3",today(),"M")
结果:371
3、计算“1985-10-3”到今天的天数:
=DATEDIF("1985-10-3",today(),"D")
结果:11302(和两个日期直接相减的结果相同)
4、计算“2006-8-3”到今天的工龄,精确到月
=DATEDIF("2006-8-3",today(),"Y")&"年零"&DATEDIF("2006-8-3",today(),"YM")&"个月"
结果: 10年零1个月
5、计算“1985-10-3”出生人还有多久过生日:
=if(DATEDIF("1985-10-3",today(),"YD"),365-DATEDIF("1985-10-3",today(),"YD"),0)
结果:21本回答被网友采纳
第2个回答  2019-12-29
第3个回答  2016-08-28
可以用日期函数;
相似回答