メインコンテンツへスキップ
見出し画像

[Excel] 翌月(1か月後)の末日を表示する EOMONTH(日付セル,1) *別解(頭の体操)あり

    2025/4/20追加 PDF版「日付と時間の入力、表示、計算」を作成しました



    【まとめ】
    翌月(1か月後)の末日を表示する計算式
    =EOMONTH(日付セル,1)

    〇か月後の同日を表示するなら
    =EOMONTH(日付セル,〇) *〇に数値が入る(当月なら「0」)
    *「〇か月」後となる「月数」は別セルに入れると修正が楽。

    画像


    【説明】
    前記事では「翌月(1か月後)の同日を表示する EDATE(日付セル,1) *別解あり」を説明しましたが、今回は「月の末日」を表示する計算式です。

    「お役所」ではあまり「末日締め」の「翌月払い」みたいなことはしませんが、締め切り設定などで使う場合があるかもしれません。


    EOMONTHで月末日を出す

    計算式は簡単です。「まとめ」のとおりです。
    EOMONTH関数について
    マイクロソフトサポートには
    EOMONTH(開始日, 月)
    と出ています。
    そのまんまですね。

    「月」のところは直接「月数」を入れてもいいのですが、セルを指定しておいた方が修正が楽です(計算式内に変数を直接入れるのは御法度)。

    EOMONTHとは、END  OF MONTH の略で、「月の終わり」。
    そのまんまなので、覚えやすいかと思います。


    EOMONTHで月の初日も出せる



    EOMONTH関数は「月末日」を出す関数ですが、「月の初日」も出せます。
    考え方は簡単。
    「初日を求めたい月の前月の月末日」に1を足せばいいんです。

    「〇か月後の月の初日」は「〇か月後の前の月の末日の翌日」と同じ、ということです。
    文字にすると、ちょっとややこしいけど、当たり前のことです。

    具体的には
    EOMONTH(基準日,〇か月後-1)+1です。
    実際に計算式を作ってみると以下の通りです。
    11月の翌月(1か月後)の初日は、1か月後の月の前月(11月)の月末日の翌日、ということです。

    画像

    下の方は、DATE関数を使って出したものです。
    こちらは、
    DATE(基準日の年,基準日の月+〇か月,1)
    なので、分かりやすいでしょう。


    月末日はDATE関数でもさせる(頭の体操)

    以下はおまけです。
    「〇か月後の末日」をDATE関数で出さないか、考えてみました
    EOMONTH関数を知らない場合、の想定です。
    EOMONTH関数の存在は調べればすぐにわかりますが、頭の体操ということで。


    DATE(年,月,日)で年月日になりますが、月末日は月によって違います。
    特定の日の指定はできません。
    月によって変化させるのも難しい。

    しかし、「月末日」は「翌月の初日の前の日」です。これはどの月の月末日にも当てはまります(当たり前)。

    月の初日はDATE関数で設定できます。
    DATE(年,月,1)です。
    この「月」が「基準日の〇か月後の月の翌月」
    つまり「基準日の月の〇か月+1か月」となればいいので、
    DATE(年,月+〇か月+1,1)とすると
    「基準日の〇か月後の月の翌月の初日」になります。
    この前日が「基準日の〇か月後の月の月末日」になります。
    つまり、1日引けばいいので、
    DATE(年,月+〇か月+1,1)-1
    となります。

    実際に計算式を入れてみると、以下の通りです。

    画像
    基準日の月の3か月後の末日は
    基準日の月の(3+1)か月の日の前日(-1)です。


    こうやって出す人は少ないでしょうけれど、こういう頭の体操も、必要だと思っています。



    あなたへのおすすめ