Cafe HOUKOKU-DOH

~ホッとひと息的な読み物でブレイクするサイト~

【いまさら訊けない】Office基礎講座20 定年退職日

No.17でDATEDIF関数を使った年令計算を確認した。今週はその続編として、人事屋さんの使用頻度の高い年月計算について見ていきたい。

 

blog.houkoku-doh.com

 

定年退職日は、わが国ではまだまだ一般的に設定されていて、たとえば定年退職の予定者をピックアップして、「ライフプランセミナー」を開いたり、要員推移の推移を見ていくのに、毎年何人の定年退職者が発生するかなど、人事企画だけでなく、人事系全般で実施するオペレーションであり、覚えておいて損はない。

 

定年退職日(誕生日の属する月末)

店主の見聞きするところ、この設定がもっともポピュラーであった。この計算にはズバリそのものの関数が用意されている。

 

  • EOMONTH(開始日,月)
  • 開始日から起算して、指定した月だけ前あるいは後ろの月の最終日に対応するシリアル値を計算する
  • 例)=EOMONTH(C3,720)

 

C3に生年月日が入力してあるとして、60年×12ヶ月=720ヶ月として経過月数に720を入力する。なお、日付をさかのぼる際には月にマイナスをつける。

 

定年退職日(誕生日)

このパターンもよく見かける。月の途中で退職するので、給与計算担当者は手間だと思うが、余計なお世話か。これもピッタリあてはまる関数がある。

 

  • EDATE(開始日,月)
  • 開始日から起算して、指定した月だけ前あるいは後ろの日付に対応するシリアル値を計算する。
  • 例)=EDATE(C4,720)

 

EOMONTHとまったく同じ引数を用いるが、返す値が経過月数後の当日になる。

 

定年退職日(年末)

少数派だと思うが一定数存在すると聞いている。これはズバリの関数がないので、少々工夫を要する。

 

  • DATE(年,月,日)
  • YEAR(シリアル値)
  •  DATE関数は引数に年は西暦、月は1~12、日は1~31を設定すると対応するシリアル値を返してくれる。したがって、年のところに生年月日から年の西暦を返す関数YEARを使用し、それに60年を加算する。
  • 例)=DATE(YEAR(C5)+60,12,31)

 

C5に生年月日そのものが入っていて、”YEAR(C5)+60”で生年月日の西暦年を4桁で取出し、それに単純に60年を加算している。その後の引数は単純に12月31日としてそれぞれ月に12を日に31を入力して大晦日に日付をコントロールしている。

 

定年退職日(年度末)

これもありそうだが、定年日を計算させる上ではいちばん難易度が高い。IF関数を使って条件を4月1日以前か翌日以降かに分岐させたうえで、60年もしくは61年後の日付を指定する。

 

  • IF(論理式,値が真の場合,値が偽の場合)
  • DATE(年,月,日)
  • YEAR(シリアル値)
  • IF関数は論理式とところに条件をあらわす式を入力する。その論理式に対して計算結果や値があてはまる場合、値が真の場合に入力した計算式が実行され、それ以外の場合には、値が偽の場合に入力した計算式が実行される
  • 例)=IF(C6>=DATE(YEAR(C6),4,2),DATE(YEAR(C6)+61,3,31),DATE(YEAR(C6)+60,3,31))

 

C6に生年月日が入るとして、条件式”C6>=DATE(YEAR(C6),4,2)”で 生まれた月日が4月2日以降かどうかを判定している。この式の”DATE(YEAR(C6),4,2)”は、”YEAR(C6)”で生年月日から生まれた西暦年を4桁で取出してDATE関数の年に設定することで、生まれた年の4月2日を計算し、それを”C6>=DATE(YEAR(C6),4,2)”で生年月日と比較することで、生まれた月日が4月2日以降を「真」4月1日以前を「偽」と判定している。

 

その上で「真」の場合には生年の61年後、「偽」の場合は60年後の設定したい日付を計算させるというもの。

 

なお、これは関数における基本的事項だが、関数の引数に日付を入力する場合は、かならず ”2021/4/1”のように「”」(ダブルクォーテーション)で囲む必要がある。セルの番地を指定する場合にはそのままでいいのだが、式中に開始日や終了日を日付形式で入力する際には注意が必要だ。

 

今日見てきた関数や計算式は、定年退職日以外にも応用範囲は広いので、ぜひ覚えていろいろなシミュレーションに使っていただきたい。

f:id:HOUKOKU-DOH:20210803153310j:plain