求可输出「X年X月X日」格式结果的MS Excel日期间隔计算公式
Excel 日期间隔计算(X年X月X日格式)
基础公式(适用于结束日期≥开始日期)
假设开始日期存于单元格A1,结束日期存于B1,使用以下公式可直接生成「X年X月X日」格式的结果:
=DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"个月"&DATEDIF(A1,B1,"MD")&"天"
公式说明
DATEDIF(A1,B1,"Y"):计算两个日期之间的完整年数DATEDIF(A1,B1,"YM"):扣除完整年数后,计算剩余的完整月数DATEDIF(A1,B1,"MD"):扣除完整年数和月数后,计算剩余的天数
优化公式(自动隐藏为0的字段)
如果希望年/月/日为0时不显示对应内容(比如间隔为5个月3天时,显示「5个月3天」而非「0年5个月3天」),可使用嵌套判断的公式:
=IF(DATEDIF(A1,B1,"Y")>0,DATEDIF(A1,B1,"Y")&"年","")&IF(DATEDIF(A1,B1,"YM")>0,DATEDIF(A1,B1,"YM")&"个月","")&IF(DATEDIF(A1,B1,"MD")>0,DATEDIF(A1,B1,"MD")&"天","")
错误处理补充
若结束日期早于开始日期,基础公式会返回错误值,可添加外层判断处理该情况:
=IFERROR(DATEDIF(A1,B1,"Y")&"年"&DATEDIF(A1,B1,"YM")&"个月"&DATEDIF(A1,B1,"MD")&"天","日期顺序错误")
注:
DATEDIF是Excel的隐藏函数,未出现在函数列表中,但全版本Excel均支持使用。
内容的提问来源于stack exchange,提问作者user21360856
相关产品推荐
相关产品推荐

