エクセルで年齢計算する方法【DATEDIFがない場合】

エクセルのDATEDIF関数で、生年月日から年齢を自動計算する方法をご紹介します。DATEDIF関数が使えない場合の解決方法や、YEARFRAC関数で代用する方法についても解説しているので、ぜひ参考にしてみてください。

スポンサーリンク

DATEDIF関数で年齢を計算する方法

エクセルのDATEDIF関数で年齢を計算する方法

DATEDIF関数は2つの日付の間の日数、月数、または年数を、指定した単位で返します。

単位は合計6種類で、年数を表す単位は “Y” です。例えば DATEDIF(A2,B2,”Y”) なら、1987年9月1日 から 2023年年5月19日 までの年数 35 を返します。

DATEDIF関数の構成要素:(開始日, 終了日, 単位)

エクセルのDATEDIF関数で年齢を計算する方法

その他の単位は、以下の通りです。例えば単位が”M”なら2つの期間の月数 428 を返しますが、”YM” なら 428/12=35.666… の35年分を除いた月数 8 を返します。

  • “Y”:期間の年数を返します。
  • “M”:期間の月数を返します。
  • “D”:期間の日数を返します。
  • “MD”:年数と月数を除いた期間を、日数で返します。
  • “YM”:年数を除いた期間を、月数で返します。
  • “YD”:年数を除いた期間を、日数で返します。

すべての単位には、二重引用符(“単位”)が必要です。

エクセルのDATEDIF関数で年齢を計算する方法

今日までの期間を自動計算する場合は、終了日にTODAY関数を指定してください。

終了日のセルにTODAY関数を入力して参照させるか、DATEDIF(A2,TODAY(),”MD”) のように数式内の終了日にTODAY関数を直接指定します。

TODAY関数の構成要素:(なし)

スポンサーリンク

DATEDIF関数が使えない

DATEDIF関数は Excel 2013 や、Excel 2016 でも使えます。DATEDIF関数がないと判断される原因や、その他のエラーが発生した場合の解決方法をご紹介します。

DATEDIF関数がない

エクセルのDATEDIF関数が使えないときの解決方法

DATEDIF関数は入力しても予測候補に表示されないため、使えないと判断される場合があります。

実際は上図のように幅広いバージョンに対応しているため、使える可能性が高いです。

#VALUE!エラーになる

エクセルのDATEDIF関数が使えないときの解決方法

DATEDIF関数を正しく入力していますが、#VALUE!エラーになってしまいました。

これは開始日に、1900年 よりも前の日付を指定しているのが原因です。日付のシリアル値は 1900年1月1日 を1とする連番で定義されているため、 それより前は日付として計算できません。

#NAME?エラーになる

エクセルのDATEDIF関数が使えないときの解決方法

#NAME?エラー になる場合、二重引用符の付け忘れか、スペルミスの可能性があります。

数式内に日付や単位を直接指定する場合は、二重引用符(“Y”)が必要です。またDATEDIF関数は候補に表示されないため、スペルミスにも注意してください。

#NUM!エラーになる

エクセルのDATEDIF関数が使えないときの解決方法

#NUM!エラーになる場合、開始日と終了日の指定が逆になっている可能性が高いです。

DATEDIF関数では結果がマイナスになる計算はできないため、大きい方の日付を終了日にします。

結果が日付になる

エクセルのDATEDIF関数が使えないときの解決方法

結果が日付になる場合、表示形式の設定に問題がある可能性があります。ホームタブから数値の表示形式を、[標準]にしてみてください。

スポンサーリンク

YEARFRAC関数で年齢を計算する方法

エクセルのDATEDIF関数が使えないときの代用方法

YEARFRAC関数は開始日と終了日の間の全日数が1年間に対して占める割合を、基準に従って計算します。基準に指定するのは、1年を365日(閏年を366日)で計算する 1 です。

例えば YEARFRAC(A2,B2,1) なら、35.713…(35年と0.713年) を返します。

1年に満たない部分(0.713年)はTRUNC関数で切り捨てることで、年齢を取得可能です。

  • 0 または省略:30 日/360 日 (NASD 方式)
  • 1:実際の日数/実際の日数
  • 2:実際の日数/360 日
  • 3:実際の日数/365 日
  • 4:30 日/360 日 (ヨーロッパ方式)

YEARFRAC関数の構成要素:(開始日, 終了日, [基準])

エクセルのDATEDIF関数が使えないときの代用方法

月数を計算する数式は TRUNC(12*(YEARFRAC(A2,B2,1)-C2) になります。

1年(12ヶ月) にYEARFRAC関数の小数部分(0.713…)を掛け算することで、月数を取得可能です。最後に1ヶ月に満たなかった少数部分は TRUNC関数で切り捨てています。

TRUNC関数の構成要素:(数値, [桁数])

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