在玛尼地区,政府雇员在55岁那一天之后的3月最后一天退休。 (如果他们在3月31日满55岁,则会在同一天退休。)考虑到雇员的生日,Mani可以算出他们何时达到55岁,但是他不知道如何计算下一个3月31日。

||在一个人年满55岁之后,有很多方法可以计算3月31日。然而,所有公式的共同点是,它们必须以某种方式弄清楚一个人的生日是否在4月1日之前。 (他们还可以算出生日是3月31日之前还是3月31日,但与4月1日相比,计算起来实际上更容易。)

假设个人的出生日期在单元格A1中,则可以使用以下公式:

=IF(DATE(YEAR(A1)+55,MONTH(A1),DAY(A1))<DATE(YEAR(A1)+55,4,1), DATE(YEAR(A1)+55,3,31),DATE(YEAR(A1)+56,3,31))

这会将人55岁的日期与他55岁的那年4月1日的日期进行比较。如果该日期在4月1日之前,则使用其55岁的那一年的3月31日。如果日期较晚,则使用第二年的3月31日。

通过简单地将出生日期与该年的4月1日进行比较,可以很容易地将其缩短一点,方法如下:

=IF(A1<DATE(YEAR(A1),4,1),DATE(YEAR(A1)+55,3,31),DATE(YEAR(A1)+56,3,31))

当然,您可以通过简单地查看生日发生的月份来进一步缩短时间:

=IF(MONTH(A1)<4,DATE(YEAR(A1)+55,3,31),DATE(YEAR(A1)+56,3,31))

尝试进一步缩短公式的另一个逻辑步骤是,以这种方式在DATE函数本身中对月份进行比较:

=DATE(YEAR(A1)+IF(MONTH(A1)<4,55,56),3,31)

您可以通过完全摆脱IF语句来进一步缩短公式:

=DATE(YEAR(A1)+55+(MONTH(A1)>3),3,31)

此公式之所以有效,是因为比较(MONTH(A1)> 3)返回0或1(取决于它是false还是true)。

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

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

链接:/ excelribbon-Calculating_a_Group_Retirement_Date [计算组退休日期]。