【Excel】DATEDIF関数を使わずに年齢を求めることはできる?。

スポンサーリンク
DATEDIFを使わずに年齢を求めることはできる?高齢者のためのエクセル教室
高齢者のためのエクセル教室
この記事は約3分で読めます。

※当サイトではアフィリエイト広告を利用しています。

以前、別の記事でDATEDIF関数を使って年齢を求める方法について書いたのですが、DATEDIF関数は関数の一覧に入っていないので使いづらい、ほかに方法はないのかと質問をいただいたので、DATEDIF関数を使わずに、ほかの関数を使って年齢を求める方法について書いていきます。

スポンサーリンク

DATEDIF関数を使わずに年齢を求めることはできる?

ROUNDDOWNとYEARFRACを使えば年齢を求めることができる

サンプルとして下の図のように開始日、終了日を入力しました。年齢と入ったセルの下に年齢を求める関数を入力していきます。

年齢を求めたいセルを選択し、数式バーの左側にあるfx(関数の挿入)ボタンをクリックします。

関数の挿入画面が開いたら、関数の分類を「数学/算数」に変更し、関数名の中から「ROUNDDOWN」を見つけてクリック、OKボタンをクリックします。

ROUNDDOWNの関数の引数画面が開いたら、「数値」の枠内をクリックしてから、数式バーの左側にある「関数ボックス」横の▼をクリック→「その他の関数」をクリックします。

関数の挿入画面が開いたら、関数の分類を「日付/時刻」に切り替え、関数名の中からYEARFRAC」をクリック、OKボタンをクリックします。

関数の引数画面がYEARFRACになっていることを確認し、開始日の枠内をクリックしてから開始日である生年月日が入力されているセルをクリックします。

次に、終了日の枠内をクリックしてから、終了日となる日付が入っているセルをクリックします。

基準の枠内に「1」と入力し、数式バーのROUNDDOWNの上にマウスポインタを合わせてクリックし、関数の引数画面をROUNDDOWNに切り替えます。

ROUNDDOWNの引数の画面に戻ったことを確認し、桁数の枠内に「0」と入力してOKボタンをクリックします。

年齢を表示したいセルに「74」と入力されていればOKです。

スポンサーリンク

年齢を求めるのにYEARFRACだけを使わない理由は?

開始日である生年月日から今日の日付までの経過年数(年齢)を知りたいだけなら、YEARFRACだけでもいいんじゃない?

実は、ROUNDDOWN関数を使わずにYEARFRACだけで経過年数を求めると…

小数点の値まで出てきてしまいます。これだと年齢と見るのは難しいですよね。

じゃあ、小数点以下を表示しないように設定すればいいんじゃない?

そうですね、Excelには小数点以下をどう表示するかを設定できるボタンがありましたね。「ホーム」タブの中にある「小数点以下の表示桁数を減らす」ボタンを使ってみましょう。

「小数点以下の表示桁数を減らす」ボタンを整数になるまでクリックしてみると「74」ではなく「75」になりました。実は、この「小数点以下の表示桁数を減らす」ボタンを使うと、小数点以下の数字は四捨五入されるため、計算結果によっては、年齢を正しく表示することができません。

なので、ROUNDDOWNで小数点以下を切り捨てるようにしました。

今回はROUNDDOWNを使いましたが、整数を求めることができるINTでもOKです。

今回のように年齢を求めるならDATEDIFを使うのがよく知られている方法ですが、DATEDIFは関数の一覧に表示されない関数のため、見つけられない、使いづらい、ほかの方法はないかとご質問いただくので、別の方法で生年月日(開始日)から日付(終了日)までの年数を求めることができるYEARFRACという関数をご紹介しました。

YEARFRAC関数は小数点以下の数字を処理しなければなりませんが、ROUNDDOWNを合わせて使うことで小数点以下を切り捨てた数字を求めることができます。