【Excel】日付計算に役立つDATEDIF関数の活用法

この記事は約5分で読めます。

今回は、Excelで日付間の期間を計算する際に役立つDATEDIF関数の活用法を紹介します。

DATEDIF関数とは

Excelを用いて業務を行っていると、日付間の期間を計算したい場面に直面することが多くあります。たとえば、社員の年齢や勤続年数を求めたり、プロジェクトの開始日から現在までの経過日数を把握したり、あるいは契約期間の残り月数を計算したりするケースです。これらの計算を手作業や単純な引き算で行うと、うるう年や月ごとの日数の違いなどを考慮する必要があり、計算ミスが生じやすくなります。

そのようなときに頼りになるのが、指定した2つの日付間の年数、月数、または日数を正確に導き出してくれるDATEDIF関数です。この関数を活用すると、複雑な期間計算を自動化し、正確な数値を即座に表示させることができます。関数の結果をテキストと結合して「〇年〇ヶ月」といった見やすい形式に整えることもできるため、人事データの管理やスケジュールの進捗管理において重宝する機能と言えます。

基本的な構文と仕組み

DATEDIF関数の基本的な構文は以下の通り構成されています。

=DATEDIF(開始日, 終了日, “単位”)

引数は3つあり、それぞれ以下のような意味を持ちます。

  1. 開始日:期間計算の起点となる日付を指定します。特定のセルを参照するのが一般的です。
  2. 終了日:期間計算の終点となる日付を指定します。TODAY関数を組み込んで今日現在を自動的に取得する形もよく使われます。
  3. 単位:計算結果をどのような形式(年、月、日など)で出力するかを指定するアルファベットのコードです。ダブルクォーテーションで囲むルールがあります。

用途に合わせた単位の指定方法

計算結果をどのような単位で表示するかは、3つ目の引数である「単位」によって決まります。目的に応じて以下の単位を使い分けます。

  • “Y”:開始日から終了日までの満年数を算出します。年齢や勤続年数など、年単位での期間を把握したい場合に使用します。
  • “M”:開始日から終了日までの満月数を算出します。契約期間やプロジェクトの月数を数えるのに適しています。
  • “D”:開始日から終了日までの実日数を算出します。単純な日割り計算を行いたい場合の基準値として役立ちます。
  • “YM”:経過した満年数を差し引いた、1年未満の残りの月数を算出します。「〇年〇ヶ月」という表記を作る際の「ヶ月」部分に該当します。
  • “YD”:経過した満年数を差し引いた、1年未満の残りの日数を算出します。
  • “MD”:経過した満月数を差し引いた、1ヶ月未満の残りの日数を算出します。「〇ヶ月〇日」という表記の「日」部分に該当します。

実務で役立つ具体的な活用テクニック

実際の業務でよく使われるDATEDIF関数の具体的な活用例と、それを実現するための数式の書き方を紹介します。

年齢や勤続年数を常に最新の状態で表示する

社員名簿や会員リストなどで、生年月日や入社日から現在までの満年数を計算するケースです。
A2セルに生年月日が入力されている場合、現在までの年齢を求めるには以下のように入力します。

=DATEDIF(A2, TODAY(), “Y”)

終了日としてTODAY関数を指定することで、ファイルを開くたびに今日の日付を基準とした最新の年齢が自動的に再計算されます。手動で日付を更新する手間が省けるため、名簿管理の効率が高まります。

「〇年〇ヶ月」形式で分かりやすく期間を表示する

勤続年数などをより直感的に分かりやすく表示したい場合、年数と月数を組み合わせて「〇年〇ヶ月」という文字列として表示させることが可能です。この場合、アンパサンド(&)記号を使って複数の関数と文字列を結合します。

=DATEDIF(A2, TODAY(), “Y”) & “年” & DATEDIF(A2, TODAY(), “YM”)
& “ヶ月”

この数式では、前半のDATEDIF関数で満年数を取得し、後半のDATEDIF関数で1年未満の端数の月数を取得しています。それらを文字列とつなぎ合わせることで、一つのセル内に「5年3ヶ月」のような自然な表現を作り出すことができます。

使用時に気をつけるべき注意点とヒント

DATEDIF関数をスムーズに、かつ正確に使いこなすためのいくつかのヒントと、よくあるつまずきポイントをお伝えします。

「#NUM!」エラーが表示される原因と対策

数式を入力した結果、「#NUM!」というエラーが表示されることがあります。これは多くの場合、開始日が終了日よりも未来の日付になっていることが原因です。DATEDIF関数は過去から未来への期間を計算する前提となっているため、日付の順序が逆転しているとエラーになります。引数の指定順序が間違っていないか確認するとよいでしょう。

日付が正しく認識されない場合のチェックポイント

計算結果が想定と異なる場合やエラーになる場合、セルに入力されている日付がExcelのシステム上でシリアル値として正しく認識されていない可能性があります。見た目は日付でも、文字列として入力されていると計算の対象になりません。
セルの書式設定を確認し、「標準」や「文字列」ではなく「日付」になっているか確認することが解決の糸口になります。日付データを扱う際は、データ型を意識することが大切です。

数式オートコンプリートに表示されない仕様

Excelで関数名を入力し始めると、通常は候補リストが表示され、そこから選択することができます。しかし、DATEDIF関数は古いバージョンからの互換性を保つために残されている関数であるため、この候補リストには表示されません。
そのため、手動で関数名を最後まで正確にタイピングする必要があります。初めて使う際は少し戸惑う要因になりますが、関数の存在自体が隠されているだけですので、そのまま入力して問題なく動作します。この仕様を知っておくことで、慌てずに対処することができます。

まとめ

ExcelにおけるDATEDIF関数は、年齢計算やプロジェクトの期間管理など、日付に関わる煩雑な計算を自動化し、正確な期間を導き出すために適した機能です。
3つの引数(開始日、終了日、単位)の仕組みを理解し、とくに「Y」「M」「D」や「YM」などの単位の指定方法を覚えることで、さまざまな形式で期間を算出できるようになります。TODAY関数との組み合わせによる自動更新や、文字列結合を用いた「〇年〇ヶ月」といった応用的な表現も、日々のデータ管理を分かりやすくするための強力な手段となります。
日付データの扱いに慣れることで、スケジュール管理や名簿作成の精度が向上する効果が期待できます。日々の業務にDATEDIF関数を取り入れて、作業の効率化に役立てることをおすすめします。