Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

DATEDIF関数(デイトディフ関数)とは | 意味や読み方など丁寧でわかりやすい用語解説

DATEDIF関数(デイトディフ関数)の意味や読み方など、初心者にもわかりやすいように丁寧に解説しています。

作成日: 更新日:

読み方

日本語表記

ディティディフ関数 (ディティディフかんすう)

英語表記

DATEDIF (デイトディフ)

用語解説

DATEDIF関数は、主にスプレッドシートソフトウェアにおいて、二つの日付間の期間を計算するために用いられる特殊な関数である。この関数は、開始日と終了日の二つの日付を引数として受け取り、指定された単位(年、月、日など)でその期間を算出する。システムエンジニアリングの現場では、プロジェクトの期間計算、契約期間の管理、従業員の勤続年数算出など、日付に基づいた期間計算が必要な場面が頻繁に発生する。DATEDIF関数は、このようなニーズに対して、手動での複雑な日付計算をすることなく、正確かつ効率的に期間を導き出す手段を提供する。例えば、あるプロジェクトが開始してから今日までの日数を正確に知りたい場合や、特定の人の誕生日から今日までの満年齢を求めたい場合などに、この関数が威力を発揮する。

DATEDIF関数の基本的な構文は=DATEDIF(開始日, 終了日, 単位)である。それぞれの引数には以下の意味がある。

開始日:期間の開始となる日付を指定する。これは、日付形式の文字列(例: "2023/1/1")として直接入力するか、日付が入力されたセルを参照するか、あるいはDATE関数などの日付を返す他の関数を用いて指定する。スプレッドシート内部では、日付は「シリアル値」と呼ばれる数値として扱われるため、日付形式であればどのような形式で入力されても内部で変換され計算される。

終了日:期間の終了となる日付を指定する。開始日と同様に、日付形式の文字列、セル参照、または日付を返す関数で指定する。終了日開始日以降の日付でなければならない。もし終了日開始日より前の日付だった場合、DATEDIF関数はエラーを返すか、期待しない結果を返すことがあるため注意が必要である。

単位:計算する期間の単位を指定する文字列である。この文字列は二重引用符で囲んで指定する必要がある。DATEDIF関数には以下の6種類の単位がある。

"Y":二つの日付間の「満年数」を計算する。例えば、2023年1月1日から2024年12月31日までの期間であれば、2年となる。2023年1月1日から2024年1月1日であれば1年、2023年1月1日から2024年1月2日でも1年と、満たされた年数を数えるため、年数が満たない月日分は切り捨てられる。年齢計算などで最もよく使用される単位である。

"M":二つの日付間の「満月数」を計算する。例えば、2023年1月1日から2023年3月1日までの期間であれば、2ヶ月となる。2023年1月1日から2023年3月31日までであれば2ヶ月と、満たされた月数を数えるため、月数が満たない日分は切り捨てられる。

"D":二つの日付間の「総日数」を計算する。開始日と終了日を含めた日数を正確に算出する。例えば、2023年1月1日から2023年1月10日までの期間であれば、9日となる(終了日から開始日を引いた日数)。

"YM":二つの日付間の「年数を除いた月数」を計算する。これは、開始日から終了日までの期間において、年単位で満たされた期間を除いた残りの月数を意味する。例えば、2023年1月1日から2025年3月15日までの期間の場合、満年数は2年(2023/1/1から2025/1/1まで)であり、残りの期間は2ヶ月と14日であるため、"YM"単位では2が返される。この単位は、満年齢と満月数を組み合わせて「〇歳〇ヶ月」といった表現をする際に非常に有用である。

"YD":二つの日付間の「年数を除いた日数」を計算する。これは、開始日から終了日までの期間において、年単位で満たされた期間を除いた残りの日数を意味する。例えば、2023年1月1日から2025年3月15日までの期間の場合、満年数は2年であり、残りの期間は2ヶ月と14日であるため、"YD"単位では74が返される(2025年1月1日から2025年3月15日までの日数)。

"MD":二つの日付間の「年数と月数を除いた日数」を計算する。これは、開始日から終了日までの期間において、年単位および月単位で満たされた期間を除いた残りの日数を意味する。例えば、2023年1月1日から2025年3月15日までの期間の場合、満年数は2年、満月数は2ヶ月(2025年1月1日から2025年3月1日)であり、残りの期間は14日であるため、"MD"単位では14が返される。この単位は、誕生日までの残り日数などを計算する際に役立つ。

DATEDIF関数は、Microsoft Excelに古くから存在するが、一般的な関数リストには表示されないという特殊な性質を持つ。これは、元々Lotus 1-2-3という別の表計算ソフトウェアとの互換性を保つために導入された関数であり、Excelのヘルプや関数ウィザードには掲載されていないため、ユーザーが直接入力する必要がある。このため、DATEDIF関数を知らない人にとっては「隠し関数」のように映るかもしれないが、その機能は強力であり、日付計算を頻繁に行うシステムエンジニアやデータアナリストにとっては不可欠なツールである。

具体的な使用例としては、以下のようなケースが考えられる。 従業員の勤続年数を計算する場合:入社日を開始日、今日を終了日、単位を"Y"とすることで、満勤続年数を瞬時に算出できる。 ユーザーの年齢を計算する場合:生年月日を開始日、今日を終了日、単位を"Y"とすることで、満年齢を求めることができる。 特定のタスクの残り期間を月単位で把握したい場合:タスク開始日を開始日、タスク完了予定日を終了日、単位を"M"とすることで、満月数で残り期間を確認できる。 契約満了までの残り日数を知りたい場合:契約開始日を開始日、契約終了日を終了日、単位を"D"とすることで、総残り日数を把握できる。 これらの応用により、プロジェクト管理、人事管理、財務管理など、多岐にわたるシステム開発やデータ分析の場面でDATEDIF関数が活用される。

DATEDIF関数を使用する際の注意点として、まず開始日終了日の順序を間違えないことが挙げられる。常に開始日 <= 終了日となるように設定する必要がある。また、前述の通りExcelの関数リストには表示されないため、スペルミスがないように正確に手動入力することが重要である。日付の入力形式は、スプレッドシートが認識できる形式であれば問題ないが、統一された形式を用いることで誤りを防ぎやすくなる。この関数は、うるう年による日数の違いも自動的に考慮して計算を行うため、ユーザーが手動でうるう年の調整を行う必要はない。DATEDIF関数は、日付計算の強力なツールとして、システムエンジニアがデータと向き合う上で非常に役立つ関数の一つと言えるだろう。

関連コンテンツ