ExcelのEOMONTH関数の使い方をお探しですね。

広告

Excelで月末日を自動計算!EOMONTH関数の使い方を分かりやすく解説

Excelで請求書の支払期限や契約の満了日、月次レポートの締め日などを管理していると、「この月の月末って何日だっけ?」と迷うことありますよね。

月末日は28日、29日、30日、31日と月によってバラバラなので、手入力だとうっかりミスしがちです。

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

指定した月の最終日を自動で出してくれる、とっても頼りになる関数なんです。

この記事では、EOMONTH関数の基本的な使い方から実務での応用例、よくあるエラーの対処法まで、分かりやすく解説していきます。

EOMONTH関数って何?月末日を自動で出してくれる便利な関数

EOMONTH関数は、指定した日付をもとに「○か月後(または○か月前)の月末日」を教えてくれるExcel関数です。

「EOMONTH」は「End Of Month(月の終わり)」の略で、その名のとおり月末の日付を求めるための関数なんですね。

例えば、「購入日の翌月末が支払期限」とか「契約開始日から12か月後の月末が満了日」といった、月末を基準にした日付管理をするときにとても便利です。

**EOMONTH関数の書き方はこちら:**

“`
=EOMONTH(開始日, 月)
“`

**「開始日」**には基準となる日付を指定します。

普通は日付が入力されたセルを指定することが多いです。

例えばA2セルに「2026/4/15」と入っているなら、`=EOMONTH(A2,0)`のように使います。

**「月」**には、開始日から何か月ずらした月の月末を求めるかを数字で指定します。

– **0**なら開始日と同じ月の月末
– **1**なら翌月末
– **-1**なら前月末

といった具合です。

例えば、A2セルに「2026/4/15」が入っている場合:
– `=EOMONTH(A2,0)` → 「2026/4/30」(同じ月の月末)
– `=EOMONTH(A2,1)` → 「2026/5/31」(翌月末)
– `=EOMONTH(A2,-1)` → 「2026/3/31」(前月末)

開始日が15日でも1日でも28日でも関係ありません。

EOMONTH関数は「その日が何月に属しているか」を見て月末を返してくれるので、いつでも正確な最終日が手に入ります。

月末日を手作業で入力していると、うるう年の2月や30日までしかない月で間違えやすいですよね。

でもEOMONTH関数なら、2024年2月のようなうるう年も自動で「2月29日」と判定してくれます。

Excelで日付を管理するなら、月の日数を気にせず正しい月末日が取得できるのが最大のメリットです。

EOMONTH関数の基本的な使い方と入力例

EOMONTH関数を使うときは、まず基準日をセルに入力して、そのセルを参照する形で数式を作るのがおすすめです。

関数の中に直接日付を書くこともできますが、書き方によってはExcelが日付として認識してくれないことがあるんです。

実務では、A列に購入日や契約開始日を入力して、B列に月末日を表示する、といった使い方をすると管理しやすくなります。

**よく使う入力例はこちら:**

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

例えば、A2セルに「2026/1/20」が入っている場合:
– `=EOMONTH(A2,0)` → 「2026/1/31」
– `=EOMONTH(A2,1)` → 「2026/2/28」

もし開始日が「2024/1/20」だったら、翌月末はうるう年なので「2024/2/29」になります。

このように、年や月ごとの日数の違いをExcel側が自動で処理してくれるので、支払日や締め日の計算も安心です。

関数の中に直接日付を書く場合は、`=EOMONTH(“2026/4/15”,0)`のように日付を**ダブルクォーテーション(“”)で囲みます**。

`=EOMONTH(2026/4/15,0)`のように書くと、Excelが「2026 ÷ 4 ÷ 15」という計算式だと勘違いして、おかしな結果になってしまいます。

直接書くよりセル参照を使ったほうが、後から基準日を変更しやすいですし、入力ミスも減らせますよ。

ちなみに、EOMONTH関数の結果が「45412」みたいな数字で表示されることがあります。

これはエラーじゃなくて、Excelが日付を内部的に管理している「シリアル値」という数字が見えている状態です。

**日付として表示するには:**
対象のセルを選んで、ホームタブの表示形式から「短い日付形式」や「長い日付形式」を選びましょう。

セルの書式設定で「yyyy/m/d」など好きな形式に変更すれば、見やすい月末日として表示できます。

EOMONTH関数の応用テクニック|月初日・支払期限・契約満了日の求め方

EOMONTH関数は月末日を求める関数ですが、ちょっとした工夫で**月初日**も簡単に求められます。

指定した日付を含む月の月初日を出したいときは、前月末に1日を足します。

**数式:** `=EOMONTH(A2,-1)+1`

A2セルが「2026/4/15」なら、前月末の「2026/3/31」に1日を足して「2026/4/1」を返してくれます。

月次集計の開始日を自動で作りたいときに便利ですね。

**次月の月初日**を求めたい場合は、当月末に1日を足します。

**数式:** `=EOMONTH(A2,0)+1`

A2セルが「2026/4/15」なら、当月末の「2026/4/30」に1日を足して「2026/5/1」を返します。

月末日と月初日をセットで取得できれば、売上集計期間や請求対象期間、勤怠の締め期間なども一貫して管理できます。

支払期限の自動計算

実務でよく使うのが、**支払期限の自動計算**です。

例えば「購入日の翌月末払い」というルールなら、購入日が入ったA2セルに対して`=EOMONTH(A2,1)`と入力します。

「当月末締め」なら`=EOMONTH(A2,0)`です。

請求書の発行日や取引日が大量にある場合でも、数式を下にコピーすれば各行の支払期限を自動で計算できます。

契約満了日の管理

契約管理でもEOMONTH関数は大活躍します。

例えば契約開始日から1年後の月末を契約満了日とする場合は、`=EOMONTH(A2,12)`を使います。

半年後の月末なら`=EOMONTH(A2,6)`です。

契約満了日を手入力で管理していると、更新漏れや日付のずれが起きやすいですが、関数で自動化すれば基準日を変更したときも満了日が連動して更新されます。

今日を基準にした月末日

EOMONTH関数と**TODAY関数**を組み合わせると、今日を基準にした月末日も取得できます。

– `=EOMONTH(TODAY(),0)` → 今月末
– `=EOMONTH(TODAY(),1)` → 来月末

月次レポートの対象期間を自動更新したいときや、今月末時点の在庫・売上・未回収額を確認したいときに便利です。

ファイルを開くたびにTODAY関数が現在の日付を返すので、いつでも最新の月末基準で確認できますよ。

EOMONTH関数でよくある注意点とEDATE・DATE関数との違い

結果が数値で表示される

EOMONTH関数を使うときに一番多いトラブルは、**結果が日付じゃなくて数値で表示される**ケースです。

これは先ほど説明したとおり、Excelの日付がシリアル値という数字で管理されているために起こります。

数式が間違っているわけじゃないので、まずはセルの表示形式を確認しましょう。

「標準」や「数値」になっている場合は「日付」に変更すれば、ちゃんと月末日として表示されます。

#VALUE!エラーが出る

次に多いのが、**#VALUE!エラー**です。

主な原因は、開始日がExcelに日付として認識されていないことです。

見た目は「2026/4/15」でも、実際には文字列として入力されている場合があるんです。

セル参照を使っているときは、そのセルの表示形式だけじゃなく、日付データとして認識されているかを確認することが大切です。

日付を直接指定する場合は、`”2026/4/15″`のようにダブルクォーテーションで囲むと認識されやすくなります。

EDATE関数との違い

EOMONTH関数と混同しやすい関数に**EDATE関数**があります。

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

例えば:
– `=EDATE(“2026/4/15”,1)` → 「2026/5/15」(同じ15日)
– `=EOMONTH(“2026/4/15”,1)` → 「2026/5/31」(月末日)

つまり、**同じ日付を保って月をずらしたいならEDATE関数**、**指定月の最終日を取得したいならEOMONTH関数**を使います。

DATE関数で月末日を求める方法

年と月が別々のセルに入力されている場合は、**DATE関数**で月末日を求める方法もあります。

例えばA2セルに年、B2セルに月が入っているなら:

“`
=DATE(A2,B2+1,0)
“`

でその月の月末日を取得できます。

DATE関数では「翌月の0日目」を指定すると前月末を返すという仕組みを利用しているんですね。

**使い分けのポイント:**
– 基準日がすでに日付としてある → EOMONTH関数
– 年と月が別々に管理されている → DATE関数

営業日は考慮されない

最後に、EOMONTH関数は**あくまでカレンダー上の月末日**を返す関数で、営業日は考慮しません。

月末日が土日祝日にあたる場合でも、その日付をそのまま返します。

支払日を「月末が休日なら翌営業日」や「前営業日」にしたい場合は、**WORKDAY関数**など営業日計算に対応した関数と組み合わせる必要があります。

まずはEOMONTH関数で正確な月末日を取得して、必要に応じて営業日調整を加えると、実務に合った日付管理がしやすくなりますよ。

まとめ

Excel EOMONTH関数の使い方を覚えると、月末日をいちいち確認する手間がなくなります。

請求、契約、集計、スケジュール管理など、月末を基準にした業務では特に役立ちます。

表示形式や日付の入力方法にちょっと注意しながら使えば、日付ミスを減らして、管理表の更新作業を大幅に効率化できます。

ぜひ活用してみてくださいね!

広告