Excelの日付計算関数 完全ガイド(DATEDIF、EDATE、WORKDAY)
ユーティリティ

Excelの日付計算関数 完全ガイド(DATEDIF、EDATE、WORKDAY)

Excelで悩みがちな「X日後はいつ?」「営業日だけの期日は?」といった日付計算の必須関数(DATEDIF、EDATE、WORKDAY)の使い方を徹底解説。手軽に使える無料の日付計算ツールも紹介します。

はじめに:Excelでの日付計算、面倒に感じていませんか?

「プロジェクトの締め切りまであと何日?」 「土日祝日を除いた実働での期日はいつ?」 「契約から数えてちょうど半年後は何月何日?」

ビジネスシーンで頻繁に発生する「○日後はいつ?」という疑問も、関数を使えば瞬時に解決します。 しかし、カレンダーを見ながら指で数えたり、Excelに直接適当な数式を入れてエラーになったりした経験はないでしょうか?

実は、Excelには日付計算に特化した強力な関数が多数用意されています。これらをマスターすれば、面倒な期日計算や年齢計算も一瞬で終わらせることができます。

本記事では、実務で絶対に覚えておきたい**「DATEDIF」「EDATE」「WORKDAY」**の3つの関数を、具体的な使用例とともに完全解説します。


1. 2つの日付の期間を求める「DATEDIF関数」

DATEDIF(デイトディフ)関数は、開始日から終了日までの「年数」「月数」「日数」を計算するための関数です。年齢の計算や、プロジェクトの所要日数を出したい場合に非常に便利です。

DATEDIFの基本構文

=DATEDIF(開始日, 終了日, 単位)
  • 単位の指定方法:
    • "Y": 満年数(年齢など)
    • "M": 満月数(契約期間など)
    • "D": 満日数(経過日数など)
    • "YM": 1年未満の残りの月数
    • "MD": 1ヶ月未満の残りの日数

DATEDIFの使用例

例えば、セルA1に「生年月日(1990/05/15)」、セルB1に「今日の日付(2026/02/27)」が入力されているとします。

  • 現在の年齢を求める: =DATEDIF(A1, B1, "Y") → 結果: 35
  • 生まれてからの総日数を求める: =DATEDIF(A1, B1, "D") → 結果: 13072

注意点: DATEDIF関数はExcelの関数リストのサジェスト(候補)に表示されない隠し関数です。手入力で正確にスペルを打ち込む必要があります。


2. Xヶ月後・Xヶ月前の日付を求める「EDATE関数」

EDATE(イーデイト)関数は、指定した日付から「〇ヶ月後」または「〇ヶ月前」の同じ日を求める関数です。試用期間の終了日や、契約更新月の算出に欠かせません。

EDATEの基本構文

=EDATE(開始日, 月数)
  • 月数の指定方法:
    • 正の数(例: 3)を指定すると「〇ヶ月後」
    • 負の数(例: -1)を指定すると「〇ヶ月前」

EDATEの使用例

セルA1に契約日「2026/01/15」が入力されているとします。

  • 3ヶ月後の日付を求める: =EDATE(A1, 3) → 結果: 2026/04/15
  • 1ヶ月前の日付を求める: =EDATE(A1, -1) → 結果: 2025/12/15

月末の処理も自動で行われます。(例:1/31の1ヶ月後は自動的に2/28または2/29になります)


3. 土日祝を除いた営業日を求める「WORKDAY関数」

ビジネスで最も厄介なのが、「土日祝日を除いて10日後」といった営業日の計算です。WORKDAY(ワークデイ)関数を使えば、土日と指定した祝日を完全にスキップして計算してくれます。

WORKDAYの基本構文

=WORKDAY(開始日, 日数, [祝日])
  • 日数: 求めたい営業日数。「前」にしたい場合はマイナスにします。
  • [祝日]: 省略可能ですが、祝日リスト(セル範囲)を指定することで祝日も除外できます。

WORKDAYの使用例

セルA1に受注日「2026/02/27(金)」、セルB1〜B10に「祝日のリスト(2026年のカレンダー)」が入力されているとします。

  • 5営業日後の納品日を求める: =WORKDAY(A1, 5, B1:B10) (土日と指定した祝日を飛ばして、正確な期日が算出されます)

ちなみに、土日が休みではない会社の場合は、定休日を自由に設定できる「WORKDAY.INTL関数」という応用版もあります。


4. 関数を入力するのが面倒なときは?

Excelを開いて数式を組むのは強力ですが、「今すぐ出先で知りたい」「関数を組むほどではないけどパッと計算したい」という場面も多いでしょう。そんなときに便利なのが、Web上で使える計算ツールです。

以下のツールを使えば、「○日後はいつ?」「この日からこの日までは何日間?」といった疑問に一瞬で答えてくれます。

日数計算・日付計算日付の差分・日数カウント・何日後の日にち計算

スマホからもサクッとアクセスできるので、関数の組み忘れや手元にExcelが無いときに最適です。用途に合わせて、Excelと便利なWebツールを使い分けるのがデキるビジネスパーソンの鉄則です。


よくある質問(FAQ)

Q1. DATEDIF関数を入力しても「#NUM!」エラーが出ます。

A1. 開始日が終了日よりも後の日付になっている可能性が高いです。開始日と終了日のセル指定が逆になっていないか確認してください。

Q2. 閏年(うるう年)の計算はExcel関数で正確に行われますか?

A2. はい、DATEDIF関数やEDATE関数などはExcel内部のシリアル値を用いて計算されるため、閏年も自動的かつ正確に考慮されます。

Q3. 「1年3ヶ月20日」のように、年・月・日を組み合わせて表示したいです。

A3. DATEDIF関数を & で繋ぐことで可能です。 =DATEDIF(A1, B1, "Y") & "年" & DATEDIF(A1, B1, "YM") & "ヶ月" & DATEDIF(A1, B1, "MD") & "日" と記述します。

Q4. WORKDAY関数の「祝日リスト」は自分で作る必要がありますか?

A4. はい、日本独自の祝日はExcelに標準登録されていないため、セルのどこかに祝日の一覧表(日付データ)を作成し、その範囲を指定する必要があります。内閣府のHPなどから祝日データをコピーして貼り付けるのが簡単です。

Q5. 営業日ではなく「指定した日までの稼働日数」を知りたい場合は?

A5. その場合は NETWORKDAYS (ネットワークデイズ) 関数を使用します。指定した2つの日付の間の、土日祝日を除いた実稼働日数をカウントしてくれます。


まとめ:日付関数を味方につけて業務効率化を

Excelの日付計算関数は、一度覚えてしまえば一生モノのスキルです。

  • DATEDIF: 期間・年齢の算出
  • EDATE: 〇ヶ月後・〇ヶ月前の算出
  • WORKDAY: 土日祝を除いた期日の算出

この3つを使いこなすだけで、スケジューリングの正確性とスピードは見違えるほど向上します。また、サクッと調べたい時には以下のツールを活用して、ストレスのない時間管理を実現しましょう!

日数計算・日付計算日付の差分・日数カウント・何日後の日にち計算

関連記事