マニの国では、公務員は55歳になった翌日の3月の最終日に退職します。 (3月31日に55歳になると、同じ日に退職します。)従業員の生年月日を考えると、マニは55歳になる時期を把握できますが、次の3月31日の計算方法を把握できません。

人が55歳になった後の3月31日の計算には、さまざまな方法があります。ただし、すべての式に共通していることの1つは、人の誕生日が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))

数式をさらに短縮しようとするもう1つの論理的な手順は、次のように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)がfalseかtrueかに応じて0または1を返すためです。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(9776)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice 365のExcelに適用されます。Excelの古いメニューインターフェイス用のこのヒントのバージョンは、次の場所にあります。

link:/ excel-Calculating_a_Group_Retirement_Date [グループの除却日を計算する]