在儿童早期教育中,很多时候,孩子的年龄都以年为单位。报告,录取和评估都需要月份格式。基本上,此格式显示自出生起经过的年月数,以句点分隔。

您可以通过多种方法来达到期望的年龄。从字面上看,您选择进行工作的公式取决于您对公式的偏好。

假设您在单元格A1中有出生日期,您可能会认为您可以对该日期使用一些数学运算来确定正确的信息。例如,您可能认为您可以使用以下公式:

=NOW() - A1

这会产生一个值,该值是两个日期之间的差,但是如果您对结果应用自定义格式(“ yy.mm”),则会发现它没有提供想要的Year.Month 。你会接近一些东西;年份是正确的,但是月份应在0到11之间变化,而月份在1到12之间变化。(某人可能是12岁零0个月大,但说12岁零12个月大不合适。)

|||这意味着您需要开始采用公式化方法。一个简单的公式如下:

=YEAR(NOW())-YEAR(A1) & "." & MONTH(NOW())-MONTH(A1)

上面有很多变体,但是问题是它们都只看今天的月份,而不是生日的月份。他们不考虑当月的日期。那重要的是什么?因为自出生以来经过的月数取决于出生月的天与当月的天的比较,因此该公式不允许进行这种区分。

因此,您可能会考虑一个更复杂的公式,该公式实际上试图计算经过的年月,例如以下公式:

=TEXT(INT((NOW() – A1)/365.25),"##0")&"."&TEXT(INT(MOD(NOW – A1,365.25)/31),"00")

这更接近所需的时间,但是在临近出生日期的某个月左右的时间,仍然有可能在一两天内关闭。更接近的是使用YEARFRAC函数的公式:

=ROUNDDOWN(YEARFRAC(A1,TODAY()),0)&"."&ROUNDDOWN((YEARFRAC(A1,TODAY())-ROUNDDOWN(YEARFRAC(A1,TODAY()),0))*12,0)

但是,最好的(也是最简单的)公式化方法是:

=DATEDIF(A1,NOW(),"y") & "." & DATEDIF(A1,NOW(),"ym")

该公式依赖于DATEDIF函数,该函数确定两个日期之间的差值。函数返回的值取决于传递给函数的第三个参数。在这种情况下,第一次调用DATEDIF将返回经过的年数,第二次返回经过的月数。它提供了迄今为止讨论的所有公式中最准确的结果。

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(3230)适用于Microsoft Excel 97、2000、2002和2003。可以在以下功能区中为Excel的功能区界面(Excel 2007及更高版本)找到本技巧的版本:

链接:/ excelribbon-Ages_in_Years_and_Months [年份和月份的年龄]。