EOMONTH関数の使い方|月末の日付を出す
※写真はイメージです
書き方はこれだけ
=EOMONTH(日付, 何か月後)EOMONTHは、日付から〇か月後の月末の日付を出す関数です。2つ目が 0ならその月の末日、1なら翌月の末日、-1なら前の月の末日です。請求書の「月末締め・翌月末払い」の支払日や、契約の終わりの日を出すときに使います。月によって30日・31日・28日と違う末日を、自分で調べなくていいのがいちばんの利点です。
この図の表をExcelファイルでダウンロード(問題と答えのシートつき)
よく使う例
| やりたいこと | 式 |
|---|---|
| その月の末日 | =EOMONTH(A2,0) |
| 月末締め・翌月末払いの支払日 | =EOMONTH(A2,1) |
| その月の1日 | =EOMONTH(A2,-1)+1 |
| 翌月の1日 | =EOMONTH(A2,0)+1 |
| その月の日数(30・31など) | =DAY(EOMONTH(A2,0)) |
| 月末まであと何日 | =EOMONTH(TODAY(),0)-TODAY() |
20日締め・翌月10日払いのように、月末以外の締め日
EOMONTHは月末しか出せないので、月末以外の締め日は少し工夫が要ります。考え方は「締め日を過ぎていたら、翌月の扱いにする」です。
| 締めと支払い | 式(A2が取引日) |
|---|---|
| 20日締め・翌月10日払い | =DATE(YEAR(A2),MONTH(A2)+IF(DAY(A2)>20,2,1),10) |
| 15日締め・当月末払い | =EOMONTH(A2,IF(DAY(A2)>15,1,0)) |
支払日が土日・祝日にあたるときの扱い(前の営業日にするか、後ろにするか)は、会社や取引先との決めごとで違います。そこはWORKDAY関数で合わせてください。
うまくいかないとき
1数字(46356など)で表示される
セルの表示形式が「標準」です。
直し方Ctrl+1 →「日付」で表示形式を選びます。
2#VALUE! になる
1つ目の日付が「11月9日」のような文字で入っています。
直し方日付を「2026/11/9」の形で入れ直します。
3月末ではなく、次の月の1日になる
=EOMONTH(A2,0)+1 のように +1 が付いています。
直し方+1 は「翌月の1日」を出すときの書き方です。末日なら外します。
サンプルファイルで試す
黄色のセルにEOMONTHの式を入れて、「答え」のシートと比べてください。
よくある質問
EOMONTH関数とは?
日付から〇か月後の月末の日付を出す関数です。=EOMONTH(日付,0) でその月の末日、=EOMONTH(日付,1) で翌月の末日です。
月末締め・翌月末払いの支払日を出すには?
=EOMONTH(取引日,1) で出せます。
その月の1日を出すには?
=EOMONTH(日付,-1)+1 で、前の月の末日の翌日=その月の1日になります。
EOMONTHの結果が数字で表示されます
セルの表示形式を日付に変えてください。
一緒に覚えたい関数・操作
このページについて
操作の説明は Microsoft 365 の日本語版Excel(Windows)に合わせています。図はこのサイトで作ったもので、表の会社名・商品名・人名は架空です。運営者情報