• 公開日:
  • 更新日:

エクセルで日付の期間を計算する方法

Excelのデータで日付の期間を計算できるようになると、作業が非常に効率的になります。

この記事では、Excelで日付の期間を計算する様々な方法について解説します。

日付の「月」「年」「日数」「営業日」の計算方法について、それぞれ説明します。

エクセルで日付の期間を計算する方法

仕事のプロジェクト期間を計算する場面や、イベントの開始日から終了日までの日数を確認する際など、日付の期間を計算することが必要となる状況があります。

以下では、Excelで日付の期間を計算する方法について解説します。

日付の「月」の計算方法

以下では、月初・月末・日付間の月数それぞれの計算を行う方法について解説します。

月初の計算

Excelでは、関数を使って月初の日付を表示することができます。

表を用意

「1ヶ月前の月初」「当月の月初」「本日」「1ヶ月後の月初」の見出し行がある表を用意します。

B3~E3セルまでにそれぞれ関数を入力して日付を表示します。

短い日付形式を選択

関数の入力を行っても表示が数値(シリアル値)になってしまうため、表示形式を「短い日付形式」に先に変更します。

B3~E3セルまで選択します。

ホームタブ、③「数値の書式」のv、④短い日付形式の順に選択します。

TODAY関数を入力する

はじめに、TODAY関数を使って本日の日付をD3セルに表示させてみましょう。

数式バーに「=TODAY()」を入力して確定すると本日の日付(2023/9/29)が表示されます。

DATE関数を使う

次に、当月の月初(2023年9月の月初)の日付をC3セルに表示させてみましょう。

数式バーに「=DATE(YEAR(D3),MONTH(D3),1)」を入力して確定すると、「2023/9/1」が表示されました。

この数式はDATE関数を主体に構成されています。DATE関数の書式は「=DATE(年,月,日)」です。

D3セルにある本日の日付を参照し、YEAR関数で「年」を、MONTH関数で「月」を取り出し、さらに「日」は月初なので1を入力します。

月に-1を入力する

それから、1ヶ月前の月初(2023年8月の月初)の日付をB3セルに表示させてみましょう。

数式バーに「=DATE(YEAR(D3),MONTH(D3)-1,1)」を入力して確定すると、「2023/8/1」が表示されました。

この数式も、DATE関数を主体にYEAR・MONTH関数を使って作成しています。「MONTH(D3)」に-1を入力すれば、1ヶ月前の月になります。

月に+1を入力する

最後に、1ヶ月後の月初(2023年10月の月初)の日付をE3セルに表示させてみましょう。

数式バーに「=DATE(YEAR(D3),MONTH(D3)+1,1)」を入力して確定すると、「2023/10/1」が表示されました。

この数式も、「MONTH(D3)」に+1を入力するだけで、1ヶ月後の月になります。

月末の計算

以下では、本日の日付から「1ヶ月前の月末」「当月の月末」「1ヶ月後の月末」をもとめる数式について解説します。

表の用意

「1ヶ月前の月末」「本日」「当月の月末」「1ヶ月後の月末」の見出し行を用意します。

B3、D3、E3セルにそれぞれ数式を入力します。

本日の日付の入力方法、表示形式の変更方法については、上のセクションを参照してください。

当月の月末

はじめに、D3セルに「当月の月末」を表示させてみましょう。

数式バーに「=EOMONTH(C3,0)」を入力し確定すると、「2023/9/30」が表示されました。

EOMONTH関数は、指定したセルの開始日から○ヶ月後の月末日を返す関数です。書式は「=EOMONTH(開始日, 月)」です。

「開始日」は本日にあたるC3セル、「月」は当月にあたる「0」を入力します。

1ヶ月前の月末

次に、B3セルに「1ヶ月前の月末」を表示させてみましょう。

数式バーに「=EOMONTH(C3,-1)」を入力し確定すると、「2023/8/31」が表示されました。

「月」には、前月にあたる「-1」を入力しています。

1ヶ月後の月末

最後に、E3セルに「1ヶ月後の月末」を表示させてみましょう。

数式バーに「=EOMONTH(C3,1)」を入力し確定すると、「2023/10/31」が表示されました。

「月」には、次の月にあたる「1」を入力しています。

日付間の月数の計算

以下では、起点となる日付と対象の日付の間の月数を計算します。

経過日数のセル

「起点」「日にち」「経過月数」の見出し行があります。

B2を起点としてC3~C5のセルを参照し、D3~D5のセルに結果の経過月数を入力します。

C3~C5セルは表示形式を「短い日付形式」に変更しましょう。変更方法については、上記「月初の計算」セクションを参照してください。

DATEDIF関数を入力する

まず、D3セルに経過月数を表示させてみましょう。

数式バーに=DATEDIF($B$3,C3,"m")」を入力して確定すると、「3」が表示されます。

DATEDIF関数は2つの日付の間の日数、月数、または年数を計算する関数です。書式は「=DATEDIF(開始日,終了日,単位)」です。

起点日のB3セルを絶対参照し、オートフィルを行っても参照するセルが変わらないようにします。終了日の「2024/1/1」があるC3、月を表す「"m"」も入力します。

経過日数の表示

ここでは、D4~D5セルもオートフィルします。

D3セルの右下にカーソルを合わせ、十字キーにします。そのまま下へドラッグします。

結果が表示

D3~D5セルまで経過月数が表示されました。

日付の「年」の計算方法

1年前と1年後の計算

以下では、1年前・1年後の計算についてそれぞれ説明します。

表を用意する

「1年前」「日にち」「1年後」の見出し行がある表を用意します。

C3セルの日にち(2023/9/29)を起点として、B3セルとD3セルにそれぞれ1年前と1年後の日付を入力します。

B3・D3セルは表示形式を「短い日付形式」に変更しましょう。変更方法については、上記「月初の計算」セクションを参照してください。

EDATE関数で-12

まず、B3セルに1年前の日付を入力してみましょう。

数式バーに「=EDATE(C3,-12)」を入力して確定します。

EDATE関数は、指定された日付の数ヶ月前もしくは数ヶ月後の日付を計算する関数です。書式は「=EDATE(開始日,月)」です。

開始日の「C3」、1年前(12ヶ月前)を意味する「-12」を入力します。

EDATE関数で+12

次に、D3セルに1年後の日付を入力してみましょう。

数式バーに「=EDATE(C3,12)」を入力して確定します。

開始日の「C3」、1年後(12ヶ月後)を意味する「12」を入力します。

日付の「日数」の期間の計算方法

複数の日付データがあれば、DAYS関数を使って日数を算出することができます。

DAYS関数の使い方については、以下の記事を参照してください。

ExcelのDAYS関数の使い方|2つの日付の間の日数を返す

日付の「営業日」の計算方法

以下では、営業日ベースでの「期日」と「期日までの営業日数」を計算する方法について解説します。

営業日ベースでの「期日」を求める

商品の発送日を算出する際や仕事のスケジュール管理において、営業日(平日のみ)ベースで期日をもとめたい場合があります。

WORKDAY関数を使えばそれが可能ですので、詳しくは以下の記事を参照してください。

ExcelのWORKDAY関数の使い方|稼働日を求める

「期日までの営業日数」を求める

NETWORKDAYS関数は、開始日から終了日までの期間において、土日等を除いた営業日数を求めることができます。

NETWORKDAYS関数の詳しい使い方については、以下の記事を参照してください。

ExcelのNETWORKDAYS関数の使い方|稼働日を数える