最新閲覧日:

もし、以前にも似た質問があったらすみません。
エクセルで生年月日から定年退職日を自動的に出したいのですが、どうしたらいいか教えてください。m(__)m
条件は以下の通りです。
(1)満60歳に達する前日が定年応答日。
(2)定年応答日の直近の3,6,9,12月末日が退職日
以上です。
例:1月1日生まれは前年12月31日が定年退職日
  1月2日生まれは当年3月31日が定年退職日
エクセル初心者ですので、できるだけ分かりやすく教えてください。お願いします。

このQ&Aに関連する最新のQ&A

A 回答 (2件)

セルA2に"生年月日"が入力されているとして、定年退職日は、



=DATE(YEAR(A2-1)+60,CEILING(MONTH(A2-1),3)+1,1)-1

で求められます。以下、その解説です。

DATE関数は、"DATE(年,月,日)"の書式で、年月日をExcel標準の"日付シリアル値"に変換する関数です。
YEAR関数は、"YEAR(日付シリアル値)"の書式で、"日付シリアル値"で指定された年月日の"年"を求める関数です。
MONTH関数は、"MONTH(日付シリアル値)"の書式で、"日付シリアル値"で指定された年月日の"月"を求める関数です。
CEILING関数は、"CEILING(数値,基準値)"の書式で、"数値"を基準値で切り上げて"基準値の倍数値"に変換する関数です。
(例1:CEILING(4,3)=6、CEILIN(6,3)=6)

"YEAR(A2-1)+60"で、定年応答日の"西暦年"を求めます。
"MONTH(A2-1)"で、定年応答日の"月"を求めます。
"CEILING(MONTH(A2-1),3)+1"で、定年応答日の"月"を3の倍数に変換して定年退職日の"月"を求めた後、1を加算することで定年退職日の翌日の"月"を求めます。(定年退職日が12月の場合13月になりますが、Excelが自動的に"翌年1月"として処理してくれます。)
ですから、回答の式は、
=DATE(定年退職日の西暦年,定年退職日の翌月,1)-1
という形で、一旦、"DATE"関数で定年退職日の翌日の日付を求めたあと、1を減算することで定年退職日を求めています。(定年退職日を直接指定しないのは、大小の月の判別を行うと式が複雑になるためです。)
    • good
    • 0
この回答へのお礼

詳しい解説までつけていただきありがとうございます。
解決しました。ありがとうございます。

お礼日時:2001/10/15 08:50

こんにちは。

maruru01です。
こんな感じでしょうか。

満60歳の誕生日の前日(定年応答日)の年をx、月をyとします。
=DATE(x, (int((y+2)/3)*3)+1,1)-1

あとは、この式を書いたセルにお好みの書式を設定して下さい。
ちなみに満60歳の誕生日がA1に書いてあったら、
定年応答日の年は、
=YEAR(A1-1)
定年応答日の月は、
=MONTH(A1-1)
です。
では。
    • good
    • 0
この回答へのお礼

ありがとうございました。とても参考になりました。

お礼日時:2001/10/15 08:48

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人が検索しているワード


人気Q&Aランキング

おすすめ情報