Excelで生年月日から定年退職日を自動計算したい場合、単純に「60歳を足す」だけでは対応できないケースがあります。特に「満60歳到達後の直近の3月20日または9月20日」というような社内規定がある場合、通常のDATEDIF関数だけでは正確に算出できません。本記事では、そのような複雑な退職日ルールをExcel関数で処理する方法を整理します。
定年退職日のルールを整理する
まず重要なのは、退職日の条件を分解して考えることです。
今回のルールは「満60歳到達後の最初の3月20日または9月20日まで」となっているため、単純な誕生日加算では対応できません。
そのため「60歳到達日」と「最寄りの基準日(3/20・9/20)」を分けて考える必要があります。
60歳到達日の算出方法
生年月日がA1セルにある場合、60歳到達日はEDATE関数で計算できます。
例として「=EDATE(A1,60*12)」を使うことで、満60歳の日付を取得できます。
この日付を基準に次のステップで退職日を判定します。
3月20日・9月20日の直近判定
60歳到達日以降の「次の基準日」を求める必要があります。
IF関数とDATE関数を組み合わせることで、3月20日または9月20日のどちらが次に来るかを判定します。
例えば、到達月が4月なら9月20日、10月なら翌年3月20日というように条件分岐を行います。
定年退職日の完成関数例
実務では以下のような複合関数で対応できます。
「=IF(MONTH(EDATE(A1,720))<=3,DATE(YEAR(EDATE(A1,720)),3,20),IF(MONTH(EDATE(A1,720))<=9,DATE(YEAR(EDATE(A1,720)),9,20),DATE(YEAR(EDATE(A1,720))+1,3,20)))」
この式により、60歳到達後の最適な退職日を自動算出できます。
再雇用後(65歳)の退職日の算出
再雇用後の65歳退職日も基本構造は同じです。
EDATE(A1,65*12)を基準にし、同様の3月20日・9月20日ルールを適用します。
これにより、B列・C列でそれぞれ自動計算が可能になります。
まとめ
Excelでの定年退職日計算は単純な年齢加算ではなく、社内ルールに応じた日付調整が必要になります。
EDATE関数で年齢到達日を求め、その後にIF関数で基準日を判定することで正確な退職日を算出できます。
複雑なルールでも関数を分解して設計すれば、自動化が可能になります。


コメント