excel中如何计算两个日期之间的月数?

不足月的,按天数除当月总天数计算比例。比如2019/12/3至2020/4/28,月份数=29/31+3+28/30=4.89。感谢!!

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")即可,当然这里的月数是忽略天数的,只计算月数之差

温馨提示:答案为网友推荐,仅供参考
第1个回答  2020-12-02
datedif是会取整的,因为客观认为1.5个月并没有数学意义,0.5个月可能是14天、14.5天、15天、15.5天。其没有数学意义。
近似公式:
=(B1-A1)*12/365
虽然能获取这样的小数计数,但是对于同年日期的差距计算也是不近合理的。
如果计算不完整月的当月总天数作为小分母,会是个很长的公式(判断闰年闰月、30或31,判断开始日期的月份是否大于终止日期月份,同样的判断开始日期的日是否大于终止日期日)。
第2个回答  2020-12-02

=ROUND((EOMONTH(A2,0)-A2+1)/DAY(EOMONTH(A2,0))+(MONTH(B2)-MONTH(A2)-1)+12*(YEAR(A2)<YEAR(B2))+DAY(B2)/DAY(EOMONTH(B2,0)),2)

追问

首先很感谢,我试了一下然后发现不连续年份算出来的月份数有差距,您这个公式我不是很懂,是需要在那个“12”修改吗?

追答

=ROUND((EOMONTH(A2,0)-A2+1)/DAY(EOMONTH(A2,0))+DATEDIF(EOMONTH(A2,0)+1,EOMONTH(B2,-1),"M")+DAY(B2)/DAY(EOMONTH(B2,0)),2)

本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网