年齢計算に便利なExcelのDATEDIF関数の使い方

  • Excel Version:
  • 2019
  • 2016
  • 2013
  • 2010
  • 2007
  • 2003
  • 2002
  • 2000
  • 97
  • ([4]2020-11-25)

Excel アイコン◆ DATEDIF関数は、2つの年月日の間隔を年数、月数又は日数で求める関数です。

 たとえば、年齢を年月単位で計算することができます。
 DATEDIF関数の具体的な数式例は、『DATEDIF関数の数式例集』をご覧ください。

なお、エクセルのDATEDIF関数は、表計算ソフト「ロータス1-2-3」との互換性を保つためだけに作られた関数で、マイクロソフトとしては正式に認知したくない関数です。そのため、ヘルプを検索しても解説は出てきません。
更に問題なのは、ロータス1-2-3のDATEDIF関数の計算結果と違う結果が出て、それが間違っているということです。
エクセルのDATEDIF関数の問題点については、後述のサイトで詳しく検証、解説されていますので、ご覧ください。

1.書式

 DATEDIF(始めの年月日,終りの年月日,求める数値)

始めの年月日:
期間の始めの年月日を指定します。
直接年月日を指定する場合は、"1985/5/12" のように日付をダブルクォーテーション(")で囲んで指定します。
日付の入ったセルを指定してもいいです。
終りの年月日:
期間の終りの年月日を指定します。
直接年月日を指定する場合は、"2003/9/10" のように日付をダブルクォーテーション(")で囲んで指定します。
日付の入ったセルを指定してもいいです。
年齢を計算する場合などは、今日の日付を求める関数[today()]で指定する。
求める数値:
年数は"y"、月数は"m"、日数は"d" を指定します。
y年m月間のm月部分(月数の端数)だけを求めるには"ym"で指定します。同様にd日部分(日数の端数)だけを求めるには"md"で指定します。


2.使用例

 (1) G12セルに、引数に直接年月日を入れて年数を求めた例

E F G H
        左隣のセル(G列セル)の数式
12     21 =DATEDIF("1985/5/11","2006/9/12","y")

 (2) G18セルに、E18セルとF18セルの日付を引数で参照して月数を求めた例

E F G H
        左隣のセル(G列セル)の数式
18 1985/5/11 2006/9/12 256 =DATEDIF(E18,F18,"m")

 (3) G24セルに、E24セルの日付を開始日として、今日(2006/6/1)までの日数を求めた例

E F G H
        左隣のセル(G列セル)の数式
24 2003/1/1 1247 =DATEDIF(E24,TODAY(),"D")

 (4) G30セルに、E30セルとF30セルの日付を引数で参照して月数の端数を求めた例

E F G H
        左隣のセル(G列セル)の数式
30 1985/5/11 2006/9/12 4 =DATEDIF(E30,F30,"ym")

 (5) G36セルに、F36セルの誕生日を使い、今日(2006/6/1)までの年齢を“年月”で求めた応用例

E F G H
        左隣のセル(G列セル)の数式
36 誕生日: 1954/4/1 52歳2ヶ月 =DATEDIF(F36,TODAY(),"y")&"歳"&DATEDIF(F36,TODAY(),"ym")&"ヶ月"

◆ こちらの使用例もどうぞ ⇒ 「コピペで使える数式:DATEDIF関数の数式例集」





Excel Tips『年齢計算に便利なExcelのDATEDIF関数の使い方』更新記録

2020/11/25
[4] Excel2019を追加。
2017/11/24
[3] HTML5,UTF-8対応。Excel version 2016を追加。
2012/11/30
[2] 「4.エクセルのDATEDIF関数の問題点について」を追加。
2008/01/29
[1] 「コピペで使える数式:DATEDIF関数の数式例集」リンクを追加。
2006/06/15
新規Tipsとして公開