Excel(エクセル)のDATEDIF関数の使い方を紹介します。日付に関する計算をする時に便利な関数で、実用的な使い方としては年齢や勤続年数などを計算することが可能です。
DATEDIF関数でうまく計算ができない場合の対処法や「うるう年」の計算の注意点、選んだ単位による結果の違いなども解説していますので参考にしてください。
目次
DATEDIF関数とは
Excel(エクセル)のDATEDIF関数とは、2つの日付のシリアル値から期間を求め、その間の「年数」や「月数」、「日数」などを求めることができる関数です。求めた期間を好きな単位で表示できるので、必要に応じて〇〇年、〇〇ヶ月、〇〇日といった期間を割り出すことができます。
例えば生年月日と今日の日付を使用してみましょう。生まれた日から今日までの経過期間が分かるので、年数表示にすれば現在の年齢を求めることができます。
DATEDIF関数の書式
DATEDIF関数の書式は「=DATEDIF(開始日,終了日,単位)」と3つの引数を使用します。次の章でそれぞれの引数の指定の仕方を詳しく解説しますので見ていきましょう。
- 第1引数:開始日
- 第2引数:終了日
- 第3引数:単位
第1引数:開始日
第1引数は、求めたい経過期間の開始日を指定します。「2024/1/31」のように日付を入力してダブルクォーテーション「”」で囲みましょう。セル参照しても構いません。
第2引数:終了日
第2引数は、求めたい経過期間の終了日を指定します。「2024/1/31」のように日付を入力してダブルクォーテーション「”」で囲みましょう。こちらもセル参照することができます。
第3引数:単位
「年数」や「日数」など、求めた経過年数を表示させる時の単位を指定します。「DATEDIF関数で計算できる単位」の章で使用できる単位と指定方法を表でまとめていますので参考にしてください。
DATEDIF関数の使い方
DATEDIF関数の基本的な使い方を紹介します。具体例を用いながらある期間の経過年数を求めたり、表示する期間の単位を任意に設定する方法を解説していますので参考にしてください。
- 経過年数を計算する方法
- DATEDIF関数で計算できる単位
経過年数を計算する方法
ある期間の経過年数を計算してみましょう。ここでは、2014年4月1日から2024年1月31日までに経過した年数を例に説明していきます。
DATEDIF関数で計算できる単位
DATEDIF関数で計算できる期間の単位と結果を以下の表にまとめました。
■例
・開始日:2010/1/1
・終了日:2020/12/1
単位 | 書式 | 結果 | 説明 |
---|---|---|---|
年数:Y | =DATEDIF(開始日,終了日,”Y”) | 10 | 開始日から終了日までの年数を計算 |
月数:M | =DATEDIF(開始日,終了日,”M”) | 131 | 開始日から終了日までの月数を計算 |
日数:D | =DATEDIF(開始日,終了日,”D”) | 4017 | 開始日から終了日までの日数を計算 |
月数のみ:YM ※0〜11の範囲 |
=DATEDIF(開始日,終了日,”YM”) | 11 | (年数を無視して)月数のみ計算 |
日数のみ:YD ※0〜365の範囲 |
=DATEDIF(開始日,終了日,”YD”) | 364 | (年数を無視して)日数のみ計算 |
日数のみ:MD ※0〜30の範囲 |
=DATEDIF(開始日,終了日,”MD”) | 30 | (年数と月数を無視して)日数のみ計算 |
DATEDIF関数の使い方【応用例】
DATEDIF関数の応用的な使い方を解説していきます。ここではよく使用される「勤続年数」や「年齢や月齢」の求め方を載せていますので、ご自身でも一度手を動かしてみましょう。
- 勤続年数を計算する方法
- 年齢・月齢を計算する方法
勤続年数を計算する方法
ビジネスの場でよく用いられる勤続年数を、DATEDIF関数を使って求めてみましょう。まず社員の入社日が書かれたデータを用意します。隣の列に勤続年数を表示させる欄を作成しておいてください。
次に新しく作成した欄の先頭セルに「=DATEDIF(C3,TODAY(),”Y”)」と入力します。
「TODAY()」関数は今日の日付を自動で取得してくれる関数で、終了日が現在の日付となります。
残りのセルもオートフィルで入力しましょう。これで社員の現時点での勤続年数を簡単に計算することができます。
年齢・月齢を計算する方法
DATEDIF関数を使って年齢や月齢を計算する方法を紹介します。例えば保育園のように乳幼児がいる場合、年齢だけではなく月齢も併せて管理する必要があるケースがあります。ここでは「〇〇歳〇〇ヶ月」といった表示方法を解説します。
児童の生年月日が入力されたデータを用意しましょう。隣に年齢や月齢を表示する欄を作成します。
作成した欄の先頭セルに「=DATEDIF(C3,TODAY(),”Y”)&”歳”&DATEDIF(C3,TODAY(),”YM”)&”ヶ月”」と入力しましょう。年数を表す「”Y”」と年数を無視して月数のみを表す「”YM”」を「&」で組み合わせています。
残りのセルもオートフィルで入力しましょう。これで年齢と月齢を表示させることができました。
DATEDIF関数が使えない(エラー)原因・対処方法
DATEDIF関数を使っているとエラーが出ることがあります。考えられる原因とその対処方法を4つ解説していきますので、うまくDATEDIF関数を使えない場合は参考にしてください。
- 開始日と終了日の設定順序が間違っている
- 「DATEDIF」のスペルが間違っている
- 単位を「””」で囲んでいない
- うるう年の計算に注意
開始日と終了日の設定順序が間違っている
よくあるのが、開始日と終了日の設定順序が逆になっている誤りです。反対に設定してしまうと、経過期間がマイナスになってしまうので「#NUM!」エラーが表示されてしまいます。
「DATEDIF」のスペルが間違っている
「#NAME?」エラーが出たら関数のスペルミスを疑ってみましょう。「DATEDIF」は挿入ダイアログに候補が表示がされないため、最後まで自分で入力する必要があります。スペルを間違えないように注意しましょう。
単位を「””」で囲んでいない
「#NAME?」エラーが出ていて関数のスペルミスもない場合、第3引数で指定する「Y」や「M」などの単位をダブルクォーテーション「”」で囲んでいるか確認しましょう。
うるう年の計算に注意
うるう年とは、太陽暦と我々が普段使用している暦とのズレを修正するためにできた年のことです。4年に1度うるう年が現れ、1年間が従来365日に1日足された366日となります。
DATEDIF関数では、うるう年を含む計算では結果が間違って算出されることがあります。プロジェクトのスケジュール管理など、重要な計算を行なう際には気を付けましょう。
DATEDIF関数についておさらい
Excel(エクセル)のDATEDIF関数を使うと、年齢や勤続年数を簡単に計算できます。終了日には現在や過去の日付だけでなく、未来の日付も使用することができます。
工夫次第で、設定した日まであと「〇〇日」などといったカウントダウンやライフイベントの計画表などにも活用できるでしょう。ぜひ身の回りの様々なシーンで利用してみてください。
今話題のリスキリングは手元から!
リテラアップアプリのご利用について、法人の方は下記フォームよりお問い合わせください。
(Excel,WordなどOffice製品やPC関連の技術的な質問にはお答えできかねます。ご了承ご了承ください。)