Aerial view of a man using computer laptop on wooden table
Excelで日付を扱う際、「月末日」を自動で求めたい場面は意外と多くあります。たとえば、月末締めの請求書や勤怠管理、スケジュール作成など。そんなときに便利なのが、EOMONTH関数です。EOMONTH関数を使えば、基準日から何か月後または何か月前の「月末日」を一瞬で計算できます。この記事では、EOMONTH関数の基本的な使い方から、実務で役立つ活用例、よくあるエラーの対処法まで、丁寧に解説します。日付処理に強くなれば、Excel作業の効率が格段にアップします。ぜひ最後までご覧ください。
EOMONTH関数(イー・オー・マンス)は、「End Of Month」の略で、指定した日付から、指定した月数だけ前後した月の末日を返す関数です。
形式は以下の通りです。
=EOMONTH(開始日, 月数)
この関数の最大のメリットは、正確な月末日が簡単に求められる点です。月末日が28日だったり30日だったり、閏年には29日になったりする複雑さを自動で処理してくれます。
セルA1に日付「2025/05/15」が入っているとします。
=EOMONTH(A1, 0)
この式は、「2025年5月の月末日」である「2025/05/31」を返します。
月数が0なので、「その月」の末日を返すのがポイントです。
=EOMONTH(A1, 2)
この式は、「2025/07/31」を返します。A1の日付から2か月後の「末日」です。
=EOMONTH(A1, -1)
この場合は、「2025/04/30」を返します。1か月前の月末です。
多くの企業では「月末締め」を採用しており、請求書や給与明細の処理でEOMONTH関数が活躍します。
=EOMONTH(TODAY(), 0)
この式で「今月の末日」を取得できます。毎月変わる月末を正確に計算できるので、システム化に最適です。
=EOMONTH(TODAY(), 1)
これで翌月の末日が自動で求まります。月初に翌月の予定表を作る場合に便利です。
=EOMONTH(DATE(2025, 12, 1), 0)
この式で「2025年12月の末日」、つまり「2025/12/31」が取得できます。
年度末の処理や、プロジェクトの締切管理にも応用可能です。
たとえば、文字列「5月15日」などの書き方だと、Excelが日付と認識できずエラーになります。
対策:正しい日付形式(例:2025/05/15)で入力しましょう。
EOMONTH関数は、日付を数値(シリアル値)として処理します。
「44500」などの値が日付に見えなくても、実際には「2022年1月1日」などの日付である場合があります。
POINT:セルの表示形式を「日付」に変更することで正しく確認できます。
EOMONTHと似た関数に「EDATE」があります。
=EDATE(開始日, 月数)
:開始日から指定月数後の「同じ日付」を返す=EOMONTH(開始日, 月数)
:開始日から指定月数後の「月末日」を返すたとえば、2025/05/15を基準にすると:
=EDATE("2025/05/15", 1) → 2025/06/15
=EOMONTH("2025/05/15", 1) → 2025/06/30
同じ月数でも、返ってくる日付が異なるので、用途に応じて使い分けましょう。
=TEXT(EOMONTH(A1, 0), "yyyy年mm月dd日")
これで「2025年05月31日」のような形式で出力できます。資料作成時など見た目を整えたいときに便利です。
=NETWORKDAYS(TODAY(), EOMONTH(TODAY(), 0))
これは「今日から今月の月末までの営業日数」を返します。
スケジュールの見積もりや納期管理に役立ちます。
EOMONTH関数は、Excelで月末日を求めるときに非常に役立つ便利な関数です。
手動で日付を修正する手間を省き、自動化や効率化を助けてくれる強力な武器になります。
=EOMONTH(日付, 月数)
=EOMONTH(TODAY(), 0)
=EOMONTH(TODAY(), 1)
業務でExcelを使う方にとって、EOMONTHは覚えておいて損はない関数です。ぜひ実際のファイルで試して、あなたの業務に取り入れてみてください。