Excelで該当年齢に達した人を探す方法

Excel関数

Excelで年齢を求める

Excelで年齢を求める方法

Excelで定年退職になる従業員を探したいのだけど、年齢を求めるにはどうしたらいい?

年齢を求めるならExcelのDatedif関数を使えば簡単に求められますよ。

例えば、生年月日が1990年1月1日の従業員の2020年1月20日の年齢を求めたい場合は

=Datedif(“1990/1/1“,”2020/1/20,”y”) → 30歳

とセルに入力すればできますよ。

最後のパラメーターの”y”は年を求める場合に使います。

年齢ではなくて、生まれた月から何カ月かを求める場合には”m”を指定します。

=Datedif(“1990/1/1“,”2020/1/20,”m”) → 360ヵ月

ということは、”1990/1/1″の部分に生年月日がはいっているセルA1を指定し、今日の年齢を求める場合は、このように入力すれば年齢が求められるわけですね。

=datedif(A1,today(),”y”)  → 30歳

 

正解です。

Excelで該当年齢に達した人を探す方法

Excelで該当月に特定の年齢に達する従業員を探す方法

年齢を求める方法はわかったのだけど、今月60歳になる従業員を一覧表から探す場合はどうしたらいいの?

次の表を見て下さい。

該当月に該当年齢に達する従業員

該当月に該当年齢に達する従業員

 

年齢の列(C列)はD1セルの日付時点の年齢を表示していますが、60歳になる従業員の列(D列)はD1セルの月に60歳に達する従業員には”〇”が表示されています。

従業員Dさんの年齢は59歳ですが、2020年1月中に60歳に達するため、該当社員として”〇”が表示されています。

該当する範囲の月末日を求める

=IF(AND(B3<=EOMONTH($D$1,-720),B3>=EOMONTH($D$1,-721)+1),”〇”,”×”)

D1セルに指定している日付から60歳(720ヵ月前)になる月の月末日を求めます。

EOMONTHは指定した日の月における最終日を求める関数です。

今回の例では指定した日が2020年1月1日で720ヵ月前の月末日を求めているので、1960年1月31日が関数から戻ってきます。

該当する範囲の月初日を求める

=IF(AND(B3<=EOMONTH($D$1,-720),B3>=EOMONTH($D$1,-721)+1),”〇”,”×”)

D1セルに指定している日付から721ヵ月前の最終日を求め、その値に1を加算すれば720ヵ月前の月初日となるわけです。

EOMONTHは指定した日の月における最終日を求める関数ですので、その値に1を加算しています。

今回の例では指定した日が2020年1月1日で721ヵ月前の月末日を求めているので、1959年12月31日が関数から戻ってきます。その値に1を加算すると1960年1月1日となり720ヵ月前の月初日となるわけです。

生年月日が求めた月初日と月末日の範囲にあるかをチェックする

=IF(AND(B3<=EOMONTH($D$1,-720),B3>=EOMONTH($D$1,-721)+1),”〇”,”×”)

ここではセルB3に入っている生年月日がEOMONTHで求めた月初日以上でかつ月末日以下であるかチェックしています。AND(条件式1,条件式2)と指定すると条件式1および条件式2を両方満たすかをチェックすることになります。条件が2つ以上ある場合はカンマ(,)で区切って指定します。また、条件式1および条件式2のどちらかを満たせばいい場合はOR(条件式1,条件式2)と指定します。

該当すれば〇を表示する

=IF(AND(B3<=EOMONTH($D$1,-720),B3>=EOMONTH($D$1,-721)+1),“〇”,”×”)

セルB3に入っている生年月日がEOMONTHで求めた月初日以上でかつ月末日以下であれば、”〇”をそうでなければ”×”を表示します。

解決しました。ありがとう。

また、よろしくね。

げっ!

タイトルとURLをコピーしました