DATEDIF関数の使い方:指定した開始日と終了日から期間の長さを求める関数:Excel関数

DATEDIF関数の使い方:指定した開始日と終了日から期間の長さを求める関数:Excel関数

DATEDIF関数は、指定した開始日と終了日から期間の長さを求める関数です。

ただ、この関数を使う場合は、数式バーやセルに直接関数を入力する必要があります。「関数の挿入」ダイアログなどにDATEDIF関数は表示されませんので、使用する際は入力ミスをしないよう注意する必要があります。

DATEDIF関数の基本的な使い方

対応バージョン:Excel365 2019 2016 2013 2010

DATEDIF関数の書式です。

=DATEDIF(開始日,終了日,単位)
※カッコ内の「開始日,終了日,単位」を引数といいます。

引数の説明

  • 〔開始日〕:期間の長さを求める起点となる日付を指定
  • 〔終了日〕:期間の長さを求める終点となる日付を指定
  • 〔単位〕:期間の長さあああああああを年単位で求めるか、月単位で求めるか、日単位で求めるかなどを英文字で指定

単位を指定する英文字

単位を指定する英文字 意味
Y 期間の長さを年単位で求める
M 期間の長さを月単位で求める
D 期間の長さを日単位で求める
YM 開始日から終了日までの月数。年や日は無視される。
YD 開始日から終了日までの1年以内の日数。年は無視される。
MD 開始日から終了日までの1ヶ月以内の日数。年や月は無視される。

DATEDIF関数の使用例

下記のサンプルは、現時点での社員の年齢と勤続年数を管理するための表です。

今日現在の日付で管理するので、「=TODAY関数」で今日の日付を「E1セル」に表示しています。

表示されている今日の日付と社員の生年月日を基に現時点での年齢を求め、同時に入社日から勤続年数を求めます。

DATEDIF関数で年齢と勤続年数を求める

=DATEDIF(B3,TODAY(),”Y”)

関数の説明

  1. 〔開始日〕には、社員の生年月日を指定
  2. 〔終了日〕には、「=TODAY()」関数で今日の日付を指定
  3. 〔単位〕には、年齢も勤続年数も年単位で求めるので「”Y”(期間の長さを年単位で求める)」を指定
  4. 関数の計算結果は、生年月日から今日(例では、2021/10/13)までの61(年)となります。

    ここでは、社員の年齢を「DATEDIF関数」で求めましたが、年齢など起点となる日付から任意の時点までの経過年数を求める場合は、「YEARFRAC関数」で計算する方法もあります。

    まとめ

    今回は社員の生年月日を基に現時点での年齢を計算しましたが、勤続年数についても同様の方法で計算できます。

    日常の業務で社員の年齢や勤続年数を計算しているという場合には、「DATEDIF関数」は便利なツールとなりそうです。ただ、DATEDIF関数には、正常に動作しないという問題も確認されています。

    マイクロソフトによれば、引数〔単位〕の指定によっては不正確な結果を返すと報告されているそうです。

    “MD” 引数は、負の値、ゼロ、または不正確な結果を返すことがあります

    出典:マイクロソフト

    現在、Excelで使われるDATEDIF関数は、Excelが普及する前に使われていた「Lotus 1-2-3」の関数で、これを互換性確保のためにExcelでも使えるようにしたものです。そのため、多少の不具合が生じているのかもしれません。

    DATEDIF関数と同じ分類の関数

    DATEDIF関数と同じ系列の関数は以下のページで探せます。

Excel関数カテゴリの最新記事