Keshab Asked: 2020-09-06 01:23:45 +0800 CST2020-09-06 01:23:45 +0800 CST 2020-09-06 01:23:45 +0800 CST 计算特定日期的年月日年龄 772 我想计算人的年龄,其中结果计算年、月和日,并将这三者结合起来得到一个看起来像的文本,例如31 Years, 7 Months, and 16 Days。 microsoft-excel 1 个回答 Voted Best Answer Rajesh Sinha 2020-09-06T01:39:29+08:002020-09-06T01:39:29+08:00 DATEDIF 函数解决了这个问题: :警告: 在某些旧版本中,单元“MD”返回错误值,但现在该错误已得到修复。 下面显示的公式适用于 2010 及更高版本。 如果要使用当前日期,请在单元格 T2 中使用此公式: =DATEDIF(R2,TODAY(),"Y")&" Years "&DATEDIF(R2,TODAY(),"YM")&" Months "&DATEDIF(R2,TODAY(),"MD")&" Days" 如果您想使用当前日期以外的任何日期,请使用单元格 T4: =DATEDIF(R2,S2,"Y")&" Years "&DATEDIF(R2,S2,"YM")&" Months "&DATEDIF(R2,S2,"MD")&" Days" 注意 在某些情况下,公式会为年、月或日返回零,您可以通过将 IF 与 DATEDIF 一起使用来避免这种情况。 我在单元格 T2 中使用了标准 DATEDIF,月份返回零,为避免这种情况,您可以使用用 IF 包装的公式,就像我在单元格 T4 中使用的那样。 =IF(DATEDIF(R2,S2,"y")=0,"",DATEDIF(R2,S2,"y")&" years, ")&IF(DATEDIF(R2,S2,"ym")=0,"",DATEDIF(R2,S2,"ym")&" months, ")&IF(DATEDIF(R2,S2,"md")=0,"",DATEDIF(R2,S2,"md")&" days") 如果你不喜欢使用 DATEDIF 函数,你可以使用这个,在单元格 T6 中。 =INT((S2-R2)/365.25)&" Years, " & INT(MOD((S2-R2)/365.25,1)*12)&" Months, " & INT(MOD((S2-R2)/30.4375,1)*30.4375)&" Days" 您可以根据需要调整公式中的单元格引用。
DATEDIF 函数解决了这个问题:
:警告:
如果要使用当前日期,请在单元格 T2 中使用此公式:
如果您想使用当前日期以外的任何日期,请使用单元格 T4:
注意
我在单元格 T2 中使用了标准 DATEDIF,月份返回零,为避免这种情况,您可以使用用 IF 包装的公式,就像我在单元格 T4 中使用的那样。
如果你不喜欢使用 DATEDIF 函数,你可以使用这个,在单元格 T6 中。
您可以根据需要调整公式中的单元格引用。