- 公開日:
エクセルの日付計算で月の計算をする方法
個人的な目標のスケジュール作成や投資の利息計算など、Excelで月の計算が必要になることがよくあります。
この記事では、Excelの日付(年/月/日)から月の計算を行う方法を解説します。
DATE関数、EOMONTH関数、DATEDIF関数などを使って計算を行うことができます。
エクセルの日付計算で月の計算をする方法
ExcelのEDATE関数を使って3か月後の日付を計算をする方法について解説します。

B2セルに「2023/9/15」の日付を入力した状態にします。月の計算結果を返したいセル(C2)を選択します。

数式バーに「=EDATE(B2,3)」を入力し、Ctrl + Enterを押して確定します。EDATE関数とは、指定した月数後(または前)の日付を計算することができる関数です。EDATE関数の書式は「=EDATE(開始日,月)」です。ここでは、B2セルの日付データから3か月後の日付をもとめます。

B2セル(例: 2023/9/15)の3か月後の日付がC2セル(例: 2023/12/15)に表示されました。
月初の日付をもとめる
特定の「月」だけでなく、「年」や「日」の計算も将来必要になるかもしれない時は、DATE関数・YEAR関数・MONTH関数を組み合わせて使うのが効果的です。
以下では、これら3つの関数を活用して指定した月に+1を加算する方法を解説いたします。
なお、これらの関数を使って返した結果の表示形式は「日付」です。

B2セルのデータから月初の日付を返したいセル(例: C2)を選択します。

数式バーに「=DATE(YEAR(B2),MONTH(B2),1)」を入力し、Ctrl + Enterを押して確定します。
この式では、DATE関数を用いて元データのセル(B2)に基づく新しい日付を作成しています。DATE関数の書式は「=DATE(年,月,日)」です。DATE関数について詳しく知りたい場合は、以下の記事を参照してください。
ExcelのDATE関数の使い方|日付をシリアル値に変換する
この式は、まずYEAR関数とMONTH関数を利用してB2セルから年と月の日付をそれぞれ抽出します。
そして、「日」の部分には月初の日である「1」を入力し、DATE関数を使用して年月日の日付を作成しています。

B2セルの月初の日付(2023/9/1)がC2セルに表示されました。

B2セルの日付を「2023/10/15」に変更すると、C2セルに「2023/10/1」が表示されます。
月末の日付をもとめる
月末の日付をもとめる場合は、EOMONTH関数もしくはDATE・YEAR・MONTH関数の組み合わせを使う方法があります。
これらの関数を使って返した結果の表示形式は「日付」です。
EOMONTH関数を使う
以下では、EOMONTH関数を使って指定したセル(B2)の月末の日付をもとめる方法を解説します。

B2セルのデータから月末の日付を返したいセル(例: C2)を選択します。

数式バーに「=EOMONTH(B2,0)」を入力し、Ctrl + Enterを押して確定します。
EOMONTH関数は、指定した日付の月末日を返します。EOMONTH関数の書式は「=EOMONTH(開始日, 月)」です。EOMONTH関数の詳細については、以下の記事を参照してください。
「B2」は指定した日付のセル、「0」は開始日から起算した月数(当月)を指し示しています。

B2セルの月末の日付(2023/9/30)がC2セルに表示されました。

B2セルの日付を「2023/10/15」に変更すると、C2セルに「2023/10/31」が表示されます。
DATE×YEAR×MONTH関数を使う
以下では、DATE関数・YEAR関数・MONTH関数を使って指定したセル(B2)の月末の日付をもとめる方法を解説します。

B2セルのデータから月末の日付を返したいセル(例: C2)を選択します。

数式バーに「=DATE(YEAR(B2), MONTH(B2)+1, 0)」を入力し、Ctrl + Enterを押して確定します。
この式では、DATE関数を用いて元データのセル(B2)に基づく新しい日付を作成しています。DATE関数の書式は「=DATE(年,月,日)」です。DATE関数の詳細については以下の記事を参照してください。
ExcelのDATE関数の使い方|日付をシリアル値に変換する
YEAR関数とMONTH関数はB2から年と月のデータを抽出しています。注意点はMONTH関数の結果に「1」を加えて翌月にすることです。
さらに、日の部分に「0」を指定することで、実際には翌月の1日前(現在の月の最終日)を取得しています。

B2セルの月末の日付(2023/9/30)がC2セルに表示されました。

B2セルの日付を「2023/10/15」に変更すると、C2セルに「2023/10/31」が表示されます。
日付間の経過月数をもとめる
DATEDIF関数を使って、指定したセルの日付間の経過月数をもとめる方法について解説します。ここでは、B2の日付とC2~C5セルの日付間の経過月数を計算します。
この関数を使って返した結果の表示形式は「数値」です。

経過月数の結果を返したいセル(D2)を選択します。

数式バーに「=DATEDIF($B$2,C2,"m")
」を入力し、Ctrl + Enterを押して確定します。
DATEDIF関数は2つのセルに含まれた日付の間の月数を計算します。書式は「=DATEDIF(開始日,終了日,単位)」です。DATEDIF関数について詳しく知りたい場合は以下の記事を参照してください。
ExcelのDATEDIF関数の使い方|2つの日付間の年数/月数/日数を計算
第1引数($B$2)は開始日付を示しています。経過月数の結果を複数返したい場合は、開始日付を絶対参照で固定することもできます。
第2引数(C2)は終了日付を指します。第3引数には「"m"
」が指定されており、これは月数を意味します。

D2セルにB2とC2間の経過月数(3)が表示されました。
B2とC3~C5間の経過月数をもとめるには、D2の右下の■にカーソルを合わせ、下にドラッグしてオートフィルします。

D2~D5セルに経過月数の結果を返すことができました。