Excel関数で月初を自動計算する方法をお探しですね。

広告

Excelで月末・月初・翌月1日を自動計算する方法【EOMONTH関数】

Excelで請求書や売上管理表を作っていると、「月末」「月初」「翌月1日」といった日付を入力する場面がよくありますよね。

でも、月によって30日だったり31日だったり、2月はうるう年もあったりして、手入力だとミスが起こりやすいんです。

そんなときに便利なのが「EOMONTH関数」。

この記事では、EOMONTH関数を使って月初や翌月1日を自動で計算する方法を、初心者の方にもわかりやすく解説します。

1. EOMONTH関数って何?基本は「月末日を出す」関数です

EOMONTH関数は、指定した日付から何か月後(または何か月前)の「月末日」を自動で計算してくれる関数です。

関数名の「EOMONTH」は「End Of Month(月の終わり)」の略。

たとえば、A2セルに「2026/4/15」と入力されているとき、「=EOMONTH(A2,0)」と書くと、4月の最終日である「2026/4/30」が表示されます。

基本的な書き方は「=EOMONTH(開始日, 月)」です。

「開始日」には基準となる日付を、「月」には何か月後(前)の月末を求めるかを数字で指定します。

「0」なら当月末、「1」なら翌月末、「-1」なら前月末という具合です。

日付が入力されたセルを参照しておけば、基準日を変えるだけで計算結果も自動的に更新されるので、請求締め日や支払期限の管理がとてもラクになります。

よく使う基本パターンはこんな感じです。

– 当月末:`=EOMONTH(A2,0)`
– 翌月末:`=EOMONTH(A2,1)`
– 前月末:`=EOMONTH(A2,-1)`
– 3か月後の月末:`=EOMONTH(A2,3)`

EOMONTH関数のすごいところは、月の日数の違いやうるう年を自動で判断してくれること。

たとえば2月の月末を求めるとき、平年なら2月28日、うるう年なら2月29日をちゃんと出してくれます。

カレンダーを見て確認する手間がなくなるので、入力ミスもグッと減らせます。

月末締めや翌月末払い、月末時点の在庫確認など、月単位で動く仕事では覚えておいて損はない関数です。

2. 月初(1日)を出すには「前月末+1日」で考えよう

EOMONTH関数は月末を求める関数ですが、ちょっと工夫すれば「月初(1日)」も簡単に計算できます。

考え方はシンプルで、求めたい月の前月末を出して、そこに1日を足すだけ。

たとえば、A2セルの日付が含まれる月の1日を表示したいなら、「=EOMONTH(A2,-1)+1」と入力します。

A2が「2026/4/15」なら、EOMONTH(A2,-1)で「2026/3/31」が出て、そこに1を足すことで「2026/4/1」になるわけです。

この数式は、月次レポートの集計開始日や、期間指定の開始日を作るときに便利です。

たとえば、売上データを「当月1日から当月末まで」で集計したいとき、開始日を「=EOMONTH(A2,-1)+1」、終了日を「=EOMONTH(A2,0)」にしておけば、A2の日付を変えるだけで対象期間が自動で更新されます。

毎月コピーして使う管理表では、日付の修正忘れを防げるので、作業効率も正確性もアップします。

「月初ならDATE関数でもいいんじゃない?」と思う方もいるかもしれません。

確かに「=DATE(YEAR(A2),MONTH(A2),1)」でも、A2と同じ月の1日は求められます。

ただ、EOMONTH関数を使う方法は「月末を出して1日足す」という考え方なので、翌月1日や数か月後の月初にも応用しやすいのがメリット。

月末日と月初日をセットで扱う表では、EOMONTH関数に統一しておくと数式の意図がわかりやすくなります。

当月の月初を求める代表的な数式は、次の2つです。

どちらも結果は同じですが、EOMONTH関数の応用として覚えるなら「前月末+1日」の方が実務では使いやすいですよ。

– EOMONTH関数で求める:`=EOMONTH(A2,-1)+1`
– DATE関数で求める:`=DATE(YEAR(A2),MONTH(A2),1)`

3. 翌月1日は「当月末+1日」で簡単に出せます

翌月1日を求めたいときは、当月末をEOMONTH関数で計算して、そこに1日を足します。

数式は「=EOMONTH(A2,0)+1」。

A2に「2026/4/15」が入っていれば、EOMONTH(A2,0)で「2026/4/30」が返ってきて、そこに1を足すことで「2026/5/1」が表示されます。

つまり、EOMONTH関数を応用した月初・翌月1日の計算の中でも、翌月1日は特に覚えやすい形なんです。

この数式は、翌月分の請求開始日、翌月の契約開始日、翌月度のスケジュール開始日などを作るときに活躍します。

たとえば、当月末で締めたあと、翌月1日から新しい管理期間を始める業務では、日付を手入力すると月が変わるたびに修正が必要ですよね。

でも「=EOMONTH(A2,0)+1」を使えば、基準日を変えるだけで翌月1日が自動で反映されます。

特にテンプレート化したExcelファイルでは、一度数式を入れておくだけで毎月の更新作業がグッと減ります。

さらに、数か月後の月初を求めたい場合も同じ考え方で対応できます。

たとえば、A2の日付を基準に「2か月後の1日」を求めたいなら「=EOMONTH(A2,1)+1」とします。

A2が4月中の日付なら、1か月後の月末である5月末を求めて、そこに1日を足すので、結果は6月1日になります。

ちょっとややこしいかもしれませんが、「求めたい月の前月末を出してから1日足す」と考えると整理しやすくなります。

実務でよく使う月初系の数式は、こんな感じでまとめられます。

– 当月1日:`=EOMONTH(A2,-1)+1`
– 翌月1日:`=EOMONTH(A2,0)+1`
– 翌々月1日:`=EOMONTH(A2,1)+1`
– 前月1日:`=EOMONTH(A2,-2)+1`

ポイントは、EOMONTH関数の第2引数(月の部分)に指定する数字が「求めたい月そのもの」じゃなくて、「求めたい月の前月末」を指定するイメージになることです。

翌月1日を出したいなら当月末、翌々月1日を出したいなら翌月末を求めます。

このルールを理解しておけば、数式を丸暗記しなくても応用できるようになりますよ。

4. 表示形式・エラー・実務での使い分けも押さえておこう

EOMONTH関数を入力したあと、「45658」みたいな数字が表示されることがあります。

これはExcelが日付を内部的に管理している「シリアル値」という数値で、数式が間違っているわけじゃありません。

セルの表示形式が日付になっていないだけです。

対象セルを選んで、「ホーム」タブの表示形式から「短い日付形式」や「長い日付形式」を選ぶと、ちゃんとした日付表示になります。

必要なら「セルの書式設定」から「yyyy/m/d」などの形式を指定してもOKです。

あと、日付を数式内に直接入力するときは注意が必要です。

たとえば「=EOMONTH(2026/4/15,0)」みたいに書くと、Excelが日付じゃなくて割り算として解釈しちゃう可能性があります。

直接入力するなら「=EOMONTH(“2026/4/15”,0)」のようにダブルクォーテーションで囲むか、より確実にするなら「=EOMONTH(DATE(2026,4,15),0)」とDATE関数を使いましょう。

ただ、実務では日付をセルに入力して、そのセルを参照する方法が一番管理しやすいです。

EDATE関数との違いも理解しておくと、日付計算で迷いにくくなります。

EDATE関数は、基準日から指定した月数だけ前後した「同じ日付」を返す関数です。

たとえば「2026/4/15」の1か月後は「2026/5/15」。

一方、EOMONTH関数は常に月末日を返すので、「2026/4/15」の1か月後を指定すると「2026/5/31」になります。

月末日や月初日を基準にしたいときはEOMONTH関数、契約日から3か月後の同日を求めたいときはEDATE関数、というふうに使い分けるといいですよ。

実務でEOMONTH関数を使うなら、基準日・開始日・終了日を分けて設計すると管理しやすくなります。

たとえばA2に基準日、B2に当月1日、C2に当月末、D2に翌月1日を表示するようにしておけば、月次集計や請求管理の期間がひと目で確認できます。

B2には「=EOMONTH(A2,-1)+1」、C2には「=EOMONTH(A2,0)」、D2には「=EOMONTH(A2,0)+1」を入力。

これで、A2の日付を変えるだけで関連する日付がすべて自動更新されます。

EOMONTH関数は、単に月末を求めるだけの関数じゃありません。

「月末を求めてから1日足す」「前月末を求めてから1日足す」という考え方を身につければ、月初や翌月1日も自由自在に計算できます。

請求書、契約管理、勤怠締め、売上集計、プロジェクト管理など、月単位で日付を扱うExcelファイルではとっても効果的。

手入力による日付ミスを減らして、毎月の更新作業を効率化したいなら、まず今回紹介した数式から取り入れてみてください。

広告