Excel,如何计算当年月份数

如一个表格里,有很多起始日和到期日,如何算出在2014年1月1日-2014年6月30日之间,它们存在了多少个月:

起始日 1
2014/1/17
到期日1
2015/1/16

起始日2
2010/12/6
到期日2
2015/12/5

起始日3
2013/1/23
到期日3
2014/1/22
感谢!会追分!
我用的公式是

=IF(终止日<2014年1月1日,0,DATEDIF(IF(起始日<2014年1月1日,1月1日,IF(起始日<2014年6月30日,起始日,2014年6月30日)),IF(L到期日<2014年6月30日,到期日,2014年6月30日),"m"))

如何把含头尾的月份也算进去
比如
起始日2012/4/21 终止日2015/4/20
在2014.1.1-2014.6.30之间,自然是6个月了,但是用上述公式算出来时5个月,怎样把这个月夜包含进去,如果简单的+1,会使得2012/4/21-2013/4/21的也成为1个月。

因为不知道你说的两个日期间存在的月份数,包不包括当月的,就有两种情况

一、不包括起始日期和结束日期这两个月的月份数(即两个日期间相隔的月份数)

在B3单元格输入公式


二、包括的话

注意:单元格格式设为


温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2016-04-22
=DATEDIF(起始日期,到期日期,"m")

因为我的区间是2014年1月1日,也就是需要比较起始日的大小

=DATEDIF(IF(起始日期单元格>--"2014-1-1",起始日期单元格,"2014-1-1"),IF(到期日期单元格>--"2014-6-30","2014-6-30",到期日期单元格),"m")



=DATEDIF(MAX(起始日期单元格,"2014-1-1"),MIN(到期日期单元格,"2014-6-30"),"m")本回答被提问者采纳
第2个回答  2014-07-10
=if(日期1>日期2,month(日期1)-month(日期2),month(日期2)-month(日期1))

就这样子,比较两个日期的大小,用大日期的月份减去小日期的月份追问

涉及到区间,2014.1.1-2014.6.30,如果是2015年的起始日,就没办法直接减了呀

追答

=if(日期1>日期2,(year(日期1)-year(日期2))*12+month(日期1)-month(日期2),(year(日期2)-year(日期1))*12+month(日期2)-month(日期1))
再年份相减下也可以的啦,原理都很简单
=if(日期1>日期2,DATEDIF(日期1,日期2,"m"),DATEDIF(日期2,日期1,"m"))

第3个回答  2014-07-10
max(datedif(max(--"2014-1-1",A1),min(--"2014-6-30",B1),"m"), 6)追问

打上去以后有乱码

相似回答