如何计算年龄?

如何计算年龄?

在 Excel 2010 中,我使用公式=(TODAY() - 05/31/1996) / 365.25计算今天(2013 年 5 月 30 日)和 1996 年 5 月 31 日之间的年龄。我期望得到接近以下数字17.00,但我明白113.41。如何使用单个公式来计算两个日期之间的年数差?我已将单元格格式化为具有 2 位小数精度的数字。

我正在使用基于此的公式类似问题

答案1

您需要将写入的日期强制转换为实际日期。有几种方法。已概述了使用 DateValue() 函数。另一种方法是:

=(TODAY()-("31/5/1996"+0))/365.25

此公式适用于日期以 DMY 表示的区域设置。如果您的区域设置使用 MDY,请尝试

=(TODAY()-("5/31/1996"+0))/365.25

日期文本将通过添加零强制转换为数字,然后进行进一步处理。

当然,如果你将日期输入到另一个单元格,然后只需将公式引用到该单元格,就可以省去很多麻烦

如果 A1 的值为 31-May-1996(无论您的区域设置采用哪种格式),则您可以使用

=(TODAY()-A1)/365.25

答案2

“如何使用单一公式来计算两个日期之间的年数差?”

由于您提出问题的确切方式,我认为 DATEDIF 公式更适合您。尝试使用以下公式。很简单!希望这能有所帮助。:)

=DATEDIF("05/31/1996",TODAY(),"Y") 或者 =DATEDIF(A1,TODAY(),"Y")

“Y”使公式计算出年数的差异。

答案3

这将起作用:=(TODAY()-DATEVALUE("5/31/1996"))/365.25

正如这样: =(TODAY()-A1)/365.25其中 A1 包含 Excel 日期值。

答案4

chuff 和 teylyn 给出的答案对于科学计算来说非常适用;例如,某个年龄的人的正常身高和体重,或者一瓶葡萄酒的陈年时间。这对您来说可能已经足够好了。但它们并不完美,无法用于法律目的;例如,在 2013 年 5 月 31 日,他们的公式计算出 16.99931554。诚然,这会显示为17.00显示两位小数,但测试结果会显示为小于 17。如果您试图以正常的社会/法律意义计算某人的年龄,那么这并不好,例如,我们会用它来确定他是否够大到可以买那瓶葡萄酒。

为简洁起见,我将使用替代建议,即古代日期为A1,而今天的日期为T1。我建议您使用以下公式:

=(YEAR(T1)-YEAR(A1)) + (DATE(YEAR(A1),MONTH(T1),DAY(T1))-A1)/365.25

这将计算两年之间的差异,然后计算开始日期和当前日期之间的小数年份差异反映在古代。例如,我是在 2013 年 6 月 12 日写下这篇文章的。上述公式的第一部分YEAR(T1)-YEAR(A1) (不需要括号)是2013-1996,当然,它就是17。第二项,

                       (DATE(YEAR(A1),MONTH(T1),DAY(T1))-A1)/365.25

变成(DATE(1996,6,12)-A1)/365.25("6/12/1996"-"5/31/1996")/365.2512/365.25,即0.03012,所以和为17.03012。但如果T15/31/2013则公式计算结果为17.00000

哦,我的公式有点小问题。如果古代日期是非闰年(例如 1995 年 5 月 31 日),而当前年份是闰年(例如 2012 年),那么T1=2/29/2012T1=3/1/2012将产生相同的结果,因为即使 Excel 对 产生错误2/29/1995,它也会将DATE(1995,2,29)其视为3/1/1995

相关内容