我在 Microsoft Excel 上有两列:F 是服务结束日期的列;E 是服务开始日期的列。
如何计算和报告每个人的服务月数?
答案1
DATEDIF 函数明确给出两个日期之间的月份数 - 它向下舍入
=DATEDIF(A2,B2,"m")
其中 A2 是两个日期中较早的一个
如果你想四舍五入到“最接近”的整月,你可以使用这个版本
=DATEDIF(A2,B2+15,"m")
如果你不关心日期,并且 1 月的任何日期到 3 月的任何日期都是 3 个月,那么你可以使用此版本
=DATEDIF(A2-DAY(A2)+1,B2,"m")+1
答案2
Microsoft 有一个知识库介绍了此主题这里
它提供两种解决方案,取决于您是否要将月份向下或向上舍入。
围捕:
=(YEAR(LDate)-YEAR(EDate))*12+MONTH(LDate)-MONTH(EDate)
四舍五入:
=IF(DAY(LDate)>=DAY(EDate),0,-1)+(YEAR(LDate)-YEAR(EDate))*12+MONTH(LDate)-MONTH(EDate)
在这两种情况下,EDate 是包含较早日期的单元格,而 LDate 是包含较晚日期的单元格。