PR

Excel(エクセル)でDATEDIFを使わずに年齢を求めることはできる?

スポンサーリンク
DATEDIFを使わずに年齢を求めることはできる? 高齢者のためのエクセル教室
高齢者のためのエクセル教室

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

そこでご紹介したのがROUNDDOWN関数とYEARFRAC関数を組み合わせて年齢を求める方法です。ROUNDDOWNとYEARFRAC関数なら、関数の挿入画面で探せば出てきます。

この記事では、ROUNDDOWN関数とYEARFRAC関数を使って年齢を求める方法についてご紹介します。

スポンサーリンク

ExcelでDATEDIF関数を使わずに年齢を求める方法はない?

ROUNDDOWN関数とYEARFRAC関数を組み合わせれば年齢を求めることができる

DATEDIF関数は、関数一覧には表示されないため、自分で手入力するしかありません。それだと使いづらいから他に年齢を求められる関数はないかと質問いただきました。

年齢を求めるだけの関数はないので、ROUNDDOWN関数とYEARFRAC関数を合わせ使いする方法で年齢を求めてみます。※関数の中に他の関数を使うことを「ネスト」といいます。

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

生年月日と日付を入力したセルを準備

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

関数の挿入ボタンをクリック

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

関数の分類 数学/三角
関数名 ROUNDDOWN

「ROUNDDOWN」は数値を指定した桁数で切り捨てる関数です。

ROUNDDOWNの引数にある「数値」にYEARFRACを呼び出す

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

ROUNDDOWNの引数の画面にある「数値」の枠内にカーソルがあるのを確認し、数式バーの左にある関数ボックスの▼をクリック、その他の関数をクリック

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

関数の分類 日付/時刻
関数名 YEARFRAC

YEARFRACの引数「開始日」「終了日」「基準」を入力する

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

関数の引数画面がROUNDDOWNからYEARFRACに変わる
開始日に生年月日が入ったセルをクリック

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

終了日に指定した日付が入ったセルをクリック

基準の枠内に「1」と入力します。※Microsoftサポート YEARFRAC関数

基準に「1」と入力してから数式バーに出ているROUNDDOWNにマウスポインタを合わせてクリック
YEARFRAC関数の基準に入れる値
  • 0または省略…30日/360日(NASD方式)
  • 1…実際の日数/実際の日数
  • 2…実際の日数/360日
  • 3…実際の日数/365日
  • 4…30日/360日(ヨーロッパ式)

数式バーの「ROUNDDOWN」にマウスポインタを合わせてクリックし切り替え、ROUNDDOWNの「桁数」に0と入力してOKボタンをクリック

数式バーのROUNDDOWNの上にマウスポインタを合わせてクリックし、関数の引数画面をROUNDDOWNに切り替えます。

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

関数の引数画面がROUNDDOWNになっていることを確認し、桁数に0と入力してOKボタンをクリック

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

年齢を求めることができた
スポンサーリンク

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

YEARFRAC関数で求めた経過年数は小数点表示になることがあるのでROUNDDOWN関数を用いて年未満の数値を切り捨てることで満年数を求める

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

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

YEARFRAC関数だけでは計算結果が小数点まで表示される

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

YEARFRAC関数だけでは計算結果が小数点まで表示される

小数点以下を表示しない表示形式を使うと値が四捨五入されてしまう

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

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

小数点以下の桁数を減らすを使うと四捨五入される

「小数点以下の表示桁数を減らす」ボタンを整数になるまでクリックしてみると「74」ではなく「75」になりました。

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

四捨五入されてしまった

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

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

スポンサーリンク

今回のように年齢を求めるならDATEDIFを使うのがよく知られている方法ですが、DATEDIFは関数の一覧に表示されない関数のため、見つけられない、使いづらい、ほかの方法はないかとご質問いただくことがよくあります。

DATEDIF関数以外の方法で生年月日(開始日)から日付(終了日)までの年数を求めることができるYEARFRACという関数をご紹介しました。

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

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