![如何计算两个日期范围交集中的月份](https://linux22.com/image/1446533/%E5%A6%82%E4%BD%95%E8%AE%A1%E7%AE%97%E4%B8%A4%E4%B8%AA%E6%97%A5%E6%9C%9F%E8%8C%83%E5%9B%B4%E4%BA%A4%E9%9B%86%E4%B8%AD%E7%9A%84%E6%9C%88%E4%BB%BD.png)
我需要计算两个日期范围交集中的月份数。
例如,在 AI 列中填写就业开始日期
12/1/1998, 1/1/2003, 2/1/1995
BI 列代表就业的结束日期,即。
12/31/2005, 2/28/2009, and still employed.
我需要计算从 2000 年 1 月 1 日到 2006 年 5 月 1 日每个员工受雇的月份数(总计 76 个月,最多)。
是否存在一个公式可以用来计算相关月份的期间?
我使用 Excel 2013。
答案1
我会说
=(年(B1) * 12 + 月(B1))-(年(A1) * 12 + 月(A1))
即使推荐的公式是 EOMONTH。
由于 OP 并没有完全接受(或指定)任何内容,而其他人发表了评论但没有任何建设性的意见,因此这里是一个基于后一个月日期(作为分母,例如 May->(DayOfMonth(latter)-DayOfMonth(former))/31)的非整数解决方案。备注:A1:进入日期,A2:离开日期/今天。
=年(B1)*12+月(B1)-(年(A1)*12+月(A1))+(((B1-EOMONTH(B1,-1))-(A1-EOMONTH(A1,-1)))/(EOMONTH(B1,0)-EOMONTH(B1,-1)))