Excelで日付の差を計算する方法|DATEDIFと引き算を解説

公開日
最終更新日
Excelで日付の差を計算する方法|DATEDIFと引き算を解説

Excelで2つの日付の差を計算したいとき、「何日経過したか」「何か月経ったか」「土日祝日を除くと何営業日になるか」など、目的によって使う計算式が異なります。

単純な日数の差であれば引き算だけで計算できますが、年数や月数を求めたい場合はDATEDIF関数、土日祝日を除きたい場合はNETWORKDAYS関数が便利です。

この記事では、Excelで日付の差を計算する方法を、具体的な数式と計算例を使ってわかりやすく解説します。

Excelで2つの日付の差を計算する3つの方法

Excelで日付の差を求める代表的な方法は、次の3つです。

計算方法 できること 使用例
日付の引き算 2つの日付の経過日数を計算 =B2-A2
DATEDIF関数 経過年数・月数・日数を計算 =DATEDIF(A2,B2,”D”)
NETWORKDAYS関数 土日祝日を除いた営業日数を計算 =NETWORKDAYS(A2,B2)

「何日経過したか」を知りたいだけなら、日付の引き算が最も簡単です。年齢や勤続年数のように年・月単位で計算したい場合は、DATEDIF関数を使用します。

日付の引き算で経過日数を求める方法

Excelでは、日付を数値として管理しているため、日付同士を引き算することで経過日数を求められます。

基本の計算式

例えば、次のように日付を入力します。

セル 入力内容
A2 2026/11/1(開始日)
B2 2026/11/10(終了日)

C2セルに次の計算式を入力します。

=B2-A2

計算結果は「9」となります。

これは、11月1日から11月10日までに9日間が経過していることを意味します。

開始日と終了日の両方を含める場合

開始日を1日目として数え、終了日も含めたい場合は、引き算の結果に1を加えます。

=B2-A2+1

先ほどの例では、計算結果は「10」となります。

例えば、11月1日から11月10日までの宿泊対象期間やイベント開催期間など、開始日と終了日を両方含めて数える場合に使えます。

ただし、宿泊日数と宿泊数は異なります。11月1日にチェックインして11月10日にチェックアウトする場合、通常は9泊となるため、用途に合わせて計算方法を選びましょう。

DATEDIF関数で年数・月数・日数を求める方法

DATEDIF関数は、2つの日付の間にある年数・月数・日数を求める関数です。

年齢、勤続年数、契約期間などを計算するときに便利です。

DATEDIF関数の基本構文

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

「単位」には、計算したい内容に応じて以下の文字を指定します。

単位 計算内容
Y 満年数
M 満月数
D 日数
YM 満年数を除いた残りの月数
YD 年数を除いた残りの日数
MD 月数・年数を除いた残りの日数

なお、「MD」には既知の計算上の制限があり、Microsoftも使用を推奨していません。正確な期間計算が必要な場合は注意してください。

日数の差を求める

開始日がA2、終了日がB2の場合、日数の差は次の式で求められます。

=DATEDIF(A2,B2,"D")

2026年11月1日から11月10日までであれば、結果は「9」です。

単純な日数の差であれば「=B2-A2」と同じ結果になります。

年数の差を求める

2つの日付の間に何年経過したかを求めたい場合は、「Y」を指定します。

=DATEDIF(A2,B2,"Y")

例えば、開始日が2020年4月1日、終了日が2026年11月1日であれば、結果は「6」となります。

満年数を求められるため、勤続年数や年齢の計算などに利用できます。

月数の差を求める

経過した満月数を求めたい場合は、「M」を指定します。

=DATEDIF(A2,B2,"M")

例えば、開始日が2026年1月1日、終了日が2026年11月1日であれば、結果は「10」となります。

月単位の契約期間やサービスの利用期間を確認するときに便利です。

年数と残りの月数を組み合わせる

「6年7か月」のように表示したい場合は、DATEDIF関数を組み合わせます。

=DATEDIF(A2,B2,"Y")&"年"&DATEDIF(A2,B2,"YM")&"か月"

開始日が2020年4月1日、終了日が2026年11月1日なら「6年7か月」と表示されます。

土日祝日を除いた日数を計算する方法

仕事の納期や営業日数を計算する場合、土日祝日を除いた日数を求めたいことがあります。

このような場合は、NETWORKDAYS関数が便利です。

土日を除いた営業日数を計算する

A2に開始日、B2に終了日を入力し、次の式を使用します。

=NETWORKDAYS(A2,B2)

NETWORKDAYS関数は、開始日と終了日を含む期間から、土曜日と日曜日を除いた日数を返します。

例えば、2026年11月2日(月)から11月6日(金)までなら、結果は「5」です。

ただし、この式だけでは祝日は除外されません。

祝日も除外して計算する

祝日を除外する場合は、Excelの別のセルに祝日の日付を入力し、その範囲を指定します。

例えば、E2からE20に祝日を入力した場合は、次の式になります。

=NETWORKDAYS(A2,B2,E2:E20)

指定した祝日と土日を除いた営業日数が計算されます。

祝日リストには、実際にExcelの日付として認識される値を入力してください。また、会社独自の休業日がある場合も、同じ範囲に追加することで除外できます。

なお、NETWORKDAYS関数は開始日と終了日を両方含めて計算するため、「開始日の翌日から何営業日経過したか」を調べる場合は、計算範囲を調整する必要があります。

Excelの日付計算でよくあるエラーと対処法

計算結果が日付で表示される

日付を引き算した結果が「1900/1/9」のように表示される場合、結果を表示するセルの表示形式が「日付」になっている可能性があります。

この場合は、対象セルを選択し、セルの表示形式を「標準」または「数値」に変更してください。

経過日数が数値として表示されるようになります。

DATEDIF関数でエラーが表示される

DATEDIF関数では、開始日が終了日より後の日付になっていると、通常「#NUM!」エラーが表示されます。

また、日付が文字列として入力されている場合や、関数の単位指定が間違っている場合も、正しく計算できないことがあります。

開始日・終了日・単位の指定を確認してください。

DATEDIF関数が候補に表示されない

DATEDIF関数は、Excelの関数候補やヘルプに表示されない場合があります。

ただし、対応するExcelでは、セルに直接「=DATEDIF(」と入力して使用できます。

入力候補に表示されないからといって、必ずしも使用できないわけではありません。

日付の差がマイナスになる

終了日が開始日より前の場合、単純な引き算ではマイナスの値になります。

日付の前後に関係なく、差の絶対値だけを求めたい場合はABS関数を使用します。

=ABS(B2-A2)

ただし、この方法では日付の前後関係がわからなくなるため、経過日数や期限の管理に使用する場合は注意しましょう。

Excelを使わずに日付の差を計算する方法

Excelを開かずに、2つの日付の間の日数を手軽に調べたい場合は、ブラウザで使える日数計算ツールも便利です。

budsblueの「日数計算・日数カウントツール」なら、開始日と終了日を指定して日数を確認できます。

日数計算・日数カウントツールはこちら

日付の差を一度だけ調べたい場合や、Excelの数式を入力する手間を省きたい場合に活用してください。

Excelの日付計算に関するよくある質問

Excelで今日から何日経過したか計算できますか?

はい。TODAY関数を使えば、今日の日付を自動取得して経過日数を計算できます。

開始日がA2セルに入力されている場合は、次の式を使用します。

=TODAY()-A2

Excelファイルを開いたときなどの再計算時に、現在の日付を基準とした経過日数が更新されます。

Excelで30日後の日付を求めるには?

開始日がA2セルにある場合は、次の式で30日後の日付を求められます。

=A2+30

計算結果が数値で表示される場合は、セルの表示形式を「日付」に変更してください。

DATEDIF関数と日付の引き算はどちらを使うべきですか?

単純な日数の差を求めるなら、日付の引き算がおすすめです。

一方、年齢や勤続年数など、満年数・満月数を求めたい場合はDATEDIF関数が適しています。

土日祝日を除いた日数を求めるには?

NETWORKDAYS関数を使用します。土日は自動的に除外されますが、祝日は別途リストを指定する必要があります。

また、土日以外を休日に設定したい場合は、NETWORKDAYS.INTL関数も利用できます。

まとめ

Excelで日付の差を計算する方法は、求めたい内容によって異なります。

  • 経過日数を求める:日付の引き算「=B2-A2」
  • 開始日と終了日を両方含める:「=B2-A2+1」
  • 年数・月数を求める:DATEDIF関数
  • 土日祝日を除いた営業日数を求める:NETWORKDAYS関数
  • 今日からの経過日数を求める:TODAY関数

用途に合った計算方法を選べば、Excelで日付の差を簡単に求められます。

Excelを使わずに日数だけを確認したい場合は、無料の日数計算ツールも活用してみてください。

IPPEI FUKUTA(株式会社バッズブルー 代表)

IPPEI FUKUTA(株式会社バッズブルー 代表)

Web制作歴15年以上、150サイト以上の制作実績を持つWebクリエイター。株式会社バッズブルー代表。これまでの経験を活かし、日常の疑問を解決する便利なWebツールの開発や、暮らし・仕事・ITに役立つ情報を発信しています。