Excel如何计算两个日期之间相差的月份_使用DATEDIF函数并设置参数M

  技术百科     |      2026-01-26 00:00
Excel中计算两日期间完整月份数最直接可靠的方法是DATEDIF函数配"M"参数,如=DATEDIF(A2,B2,"M")返回15,它忽略日部分、不四舍五入、稳定处理跨年及月末日期。

Excel中计算两个日期之间相差的月份,最直接可靠的方法是使用 DATEDIF 函数,并将第三个参数设为 "M"。它返回的是两个日期之间的**完整月份数**(即忽略日部分,只看年和月的整数差)。

DATEDIF函数的基本用法(M参数)

语法:
=DATEDIF(开始日期, 结束日期, "M")

注意:
• 开始日期必须早于或等于结束日期,否则返回错误值 #NUM!;
• 该函数在Excel中属于“隐藏函数”,不显示在函数提示列表中,但完全可用;
• "M" 表示按月计算整月数,不四舍五入,也不考虑具体天数差异。

实际效果举例说明

假设 A2 单元格是 2025/3/15,B2 是 2025/7/10
=DATEDIF(A2,B2,"M") → 返回 15

解释:从2025年3月到2025年7月,共经历 15 个完整月份(3→4→5…→7),虽然结束日(10日)早于开始日(15日),但DATEDIF("M")仍按月对齐计算,不扣减。

常见误区与替代思路

  • 不要用 =(结束日期-开始日期)/30=DATEDIF(...,"D")/30 —— 月份天数不固定,结果不准确;
  • 若需“按天折算近似月数”,可用 =DATEDIF(A2,B2,"D")/365.25*12,但这不是整月概念;
  • 如需包含小数(例如2.3个月),推荐用 =YEAR(B2)-YEAR(A2)+((MONTH(B2)-MONTH(A2))/12),再根据日调整;
  • 遇到跨年、月末日期(如1月31日到2月28日),DATEDIF("M")依然稳定返回1,符合多数业务场景对“满一个月”的理解。

补充:其他常用DATEDIF参数参考

除了 "M",还可搭配使用:
"Y":返回整年数;
"MD":返回忽略年月后的剩余天数(适合计算几岁几个月几天);

"YM":返回忽略年份后的整月数(如用于年龄中的“X岁Y个月”)。