在Excel中计算两个日期之间相差的月份数,最直接且专业的方法是使用 DATEDIF 函数。这个函数专门用于计算时间间隔,且能稳定处理跨年等复杂情况 。
核心公式:使用 DATEDIF 函数
假设您的“入账月份”记录在 A1 单元格中,您可以在目标单元格中输入以下公式:
=DATEDIF(A1, TODAY(), "M")
公式参数解析:
A1:代表开始日期(即入账月份)。
TODAY():代表结束日期,该函数会自动获取系统当前的日期 。
"M":代表计算单位,表示返回两个日期之间的完整月份数 。
⚠️ 关键注意事项与常见误区
参数大小写与标点:公式中的 "M" 必须使用英文状态下的双引号,且函数名 DATEDIF 拼写必须完全正确 。
日期先后顺序:开始日期(入账日期)必须早于或等于结束日期(当前日期),否则公式会返回错误值 #NUM! 。
隐藏函数特性: DATEDIF 是Excel中的隐藏函数,您在输入时可能看不到函数的自动提示,但这不影响其正常使用,直接输入即可 。
避免错误算法:强烈建议不要使用 =(当前日期-入账日期)/30 这种算法。因为每个月的天数不固定,这种粗略的除法会导致计算结果不准确 。
进阶用法:计算“X年X个月”
如果您不仅需要知道相差几个月,还需要知道精确的“X年X个月”,可以组合使用 DATEDIF 函数:
=DATEDIF(A1, TODAY(), "Y") & "年" & DATEDIF(A1, TODAY(), "YM") & "个月"
"Y" 参数用于计算两个日期之间相隔的完整年数。
"YM" 参数用于计算忽略年份后的剩余月份差 。