エクセルで月末と1日を自動表示する方法!EOMONTH関数とDATE関数をマスターして効率化

「毎月の請求書や報告書で、わざわざカレンダーを見ながら月末の日付を手入力している……」

「今月の1日をパッと表示させたいけれど、いい方法はないかな?」

そんな悩みをお持ちではありませんか?

エクセルには、日付を自動で計算してくれるとっても便利な機能があります。一度設定してしまえば、翌月になっても自動で日付が更新されるので、入力ミスも防げて時短にもなりますよ!

本記事で分かること
  • EOMONTH関数を使って一瞬で月末を表示する方法がわかる
  • 「1日」をスマートに表示させるテクニックが身につく
  • DATE関数を使った、月末計算のもう一つのやり方がわかる
  • 実務(請求書やスケジュール管理)での具体的な活用シーンがイメージできる

なぜ月末と1日の自動表示が必要なの?

エクセルで日付を管理するとき、手入力は一番避けたい作業です。なぜなら、月によって「30日」だったり「31日」だったり、はたまた「28日(29日)」だったりと、月末の日付は変動するからです。

自動表示をマスターするメリット
  • 入力ミスがゼロになる
    「うっかり31日までない月に31日と入れてしまった!」というミスがなくなります。
  • テンプレート化できる
    一度作れば、基準の月を変えるだけで全ての日付が自動更新されます。
  • 計算が楽になる
    支払期限や提出期限の計算がスムーズになります。

【基本】指定した月の「1日」を表示する方法

でんちゃん
でんちゃん

まずは、「1日」を表示する方法から見ていきましょう。

「1日」はどの月でも必ず「1」なので簡単そうに見えますが、実はいくつかやり方があります。

例題:基準となる日付から、その月の1日を表示させる

例えば、セルA2に「2026/1/8」と入力されている場合に、B2に「2026/1/1」と表示させてみましょう。

【使用するデータの例】

使用するデータ例

基準となる日付(B1):

2026/1/8

表示させたい1日(B2):

=DATE(YEAR(B1), MONTH(B1), 1)

でんちゃん
でんちゃん

この方法では、DATE関数を使って、基準日の「年」と「月」を取り出し、日にちの部分に直接「1」を指定しています。


【便利】EOMONTH関数で月末を表示する

月末を表示させるための別の方法が、EOMONTH関数です。名前の通り、月の終わりを表示するための関数です。

EOMONTH関数の基本構成

=EOMONTH(開始日, )

開始日 基準となる日付を指定します。

基準日から見て「何ヶ月後(あるいは前)」の月末を知りたいかを数字で指定します。「0」を入れると、開始日と同じ月の月末が表示されます。

例題:当月末・翌月末を表示する

EOMONTH関数を使って月末を表示させてみましょう。

当月末数式:

=EOMONTH(B1, 0)

でんちゃん
でんちゃん

0を指定すると同じ月の末日が表示されます。

翌月末数式:

=EOMONTH(B1, 1)

でんちゃん
でんちゃん

1を指定すると1ヶ月後の末日が表示されます。

前月末数式:

=EOMONTH(B1, -1)

でんちゃん
でんちゃん

-1を指定すると1ヶ月前の末日が表示されます。

この関数は、うるう年もしっかり計算してくれるので、2月が29日まである年でも安心してお任せできます!


【応用】DATE関数を使って月末を表示する方法

実は、EOMONTH関数を使わなくても月末を出すことができます。

それがDATE関数を組み合わせた方法です。

少しパズルのようですが、仕組みを理解するとエクセルの日付計算に強くなれますよ。

DATE関数で月末を出す仕組み

「今月末」というのは、考え方を変えると「来月の1日の、1日前」ということになりますよね。これを数式にします。

例題:DATE関数で2026年2月の末日を出す

以下の表のように数式を入力します。

数式:

=DATE(YEAR(B1), MONTH(B1)+1, 0)

ここでポイントなのが、日の指定を「0」にしている点です。

DATE関数では「1」が1日を指すので、「0」を指定するとその前日、つまり前月の末日を返してくれるという便利なルールがあるんです。


実務で役立つ!月末と1日活用の具体例

知識を学んだところで、実際の仕事でどう使うかを見ていきましょう。

ケース1:請求書の支払期限を「翌月末」に設定する

取引先への請求書で「支払期限:翌月末」としたい場合です。

数式:

=EOMONTH(B1, 1)

ケース2:月間スケジュール表の「1日」と「末日」

スケジュール表のタイトルに「2026/2/1 〜 2026/2/28」と自動で表示させたい場合です。

数式:

=EOMONTH(B1, 0)

あとはセルの表示形式を「yyyy/m/d」に整えれば、A1を「2/1」に変えるだけで期間表示も一気に切り替わります。


よくあるトラブルと解決策

設定したのにうまく表示されない……という時は、ここをチェックしてみてください。

トラブル例
  • 数字の羅列(46022など)が表示される
  • EOMONTH関数が使えない(古いエクセルの場合)

1. 数字の羅列(46022など)が表示される

これはエラーではなく、エクセルが日付を内部的な数値(シリアル値)で管理しているためです。

解決策

セルを右クリック >「セルの書式設定」>「日付」を選択して、好きな形式を選んでください。

日付あシリアル値になっている場合は下記の手順で修正してみてください!

2. EOMONTH関数が使えない(古いエクセルの場合)

非常に古いバージョンのエクセル(Excel 2003以前)では、分析ツールのアドインを有効にする必要があります。

今のバージョン(Microsoft 365やExcel 2010以降)ならそのまま使えますので、まずはDATE関数で代用できないか試してみてください。


まとめ:月末と1日の表示は関数にお任せ!

最後に、今回ご紹介したポイントをおさらいしましょう。

  • 1日を表示するなら: DATE関数で日にちに「1」を指定する
  • 月末を表示するなら: EOMONTH関数が最も簡単で確実(0なら当月末、1なら翌月末)
  • DATE関数でも月末は出せる: 「翌月1日の0日前」という考え方を使う

これらの関数を使いこなせれば、毎月のカレンダー確認や日付の修正作業から解放されます。まずは小さな表から、今回ご紹介した数式を試してみてくださいね。

この記事を書いた人
でんちゃん

一児の父。人事として6年、採用・教育・労務・人事制度などを経験してきました。これまで200名ほどの方と面接を実施してきたので就職・転職に関するノウハウがあります。またExcelを用いたデータ分析が得意です。
娘が生まれ日々のすさまじい成長を目の当たりにしています。
人事やExcel、子育てに関してのお役立ち情報を伝えるブログを作っていきます!

でんちゃんをフォローする
office365
シェアする
でんちゃんをフォローする

コメント

タイトルとURLをコピーしました