ExcelのDATEDIF関数:2つの日付の差を簡単に計算する

エクセルは、最も強力で汎用性の高いオフィスツールのひとつである。その初期のバージョンから、今日でも役に立つ歴史的な公式がいくつか残されている。その中でもDATEDIF関数は、2つの日付の差を計算するための、控えめだが非常に強力なツールである。

DATEDIF関数はもはやExcelの公式文書にはありませんが、今でも完璧に機能します。DATEDIF関数を使えば、2つの日付が何年、何ヶ月、何日で区切られているかを素早く計算することができます。この記事では、DATEDIF関数の使い方、DATEDIF関数が存在する理由、FRACTION.YEARのような最新の代替関数について説明します。

なぜExcelでDATEDIFを使うのか?

DATEDIFはエクセルで最も古い関数の一つです。ロータス1-2-3のスプレッドシートに端を発し、マイクロソフトは古いファイルとの互換性を確保するためにこの関数を残すことにしました。

つまり、1980年代のエクセルファイルでも、現在のバージョンで問題なく開き、実行することができるのです。これは、特にファイルを扱う企業にとっては大きな利点である。

データ処理をさらに学びたい方は、こちらもご覧ください:

DATEDIFはどのように機能するのか?

DATEDIFの構文はシンプルです:

=DATEDIF(start_date; end_date;"units")

ここで、単位にはいくつかの値がある:

  • y"→ 年の差

  • m"→ 月単位の差

  • d"→ 日単位の差

具体的な計算例

計算の種類 計算式 計算結果
2つの日付間の年数 =DATEDIF(A1;B1; ‘y’) 33
2つの日付間の月 =DATEDIF(A2;B2; “m”) 399
2つの日付間の日数 =DATEDIF(A3;B3; ‘d’) 12164

⚠️ 警告:'MD‘ のようないくつかの引数は、一貫性のない、あるいは否定的な結果を導くことがある。したがって、主引数"y""m""d "に限定することが望ましい。

DATEDIF関数の限界

  • 文書化されていない: Excelは、この関数に関する文脈上のガイダンスを提供していない。

  • エラーが起こりやすい: いくつかの未知の引数は正しくない結果につながる。

  • 最新の数式よりも柔軟性に欠ける

そのため、より正確で直感的な計算を行うには、FRACTION.YEARを使用すると便利です。

FRACTION.YEAR: DATEDIFに代わる最新の計算式

DATEDIFとは対照的に、FRACTION.FRACTION.YEAR関数は、DATEDIF関数とは対照的に、エクセルで重視されており、ヘルプも組み込まれています。FRACTION.YEAR関数は、2つの日付間の1年の端数を計算します。

使用例

  • 小数の端数を含む年数:

=FRAction.YEAR(start_date; end_date)
  • 丸めた年数:

=ROUNDED(FRACTION.YEAR(start_date; end_date);0)
  • 月数:

=FRACTION.YEAR(date_start; date_end)*12
  • 日数:

=end_date - start_date

検索系関数も学びたい方は、こちらの記事がおすすめです:Excel VLOOKUPを簡単に説明します

DATEDIF関数とFRACTION.YEAR関数の比較

DATEDIF関数 長所 弱点
DATEDIF シンプル、後方互換性、高速 文書化されていない、バグの可能性
DATEDIF より正確、10進小数使用可能、Excelベース 記述が複雑

概要

DATEDIF式は、Excelで日付の差を計算するための高速で効率的なソリューションです。その主な利点は、シンプルさと古いファイルとの互換性です。

しかし、より正確な計算を行うには、FRACTION.YEARをお勧めします。特に、四捨五入の有無にかかわらず、詳細な計算結果を得たい場合は、FRACTION.YEARをお勧めします。

日本語で学べる他の便利なExcel記事: