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

[Excel] 翌月の同日を自動表示する方法|EDATEの正しい使い方 *別解あり

    ▶ 目次 > 集計 > 数式・関数 > 年月日と時間
    2025/4/20追加 PDF版「日付と時間の入力、表示、計算」を作成しました


    【まとめ】
    翌月(1か月後)の同日を表示する計算式
    =EDATE(日付セル,1)
    〇か月後の同日を表示するなら
    =EDATE(日付セル,〇) *〇に数値が入る

    画像


    「〇か月」を別セルに入れると修正が楽。

    画像
    別セルに入れた
    「〇か月」の月数を
    引っ張ってくる方が修正が楽です

    [説明]
    翌月(1か月後)の同日を表示したいことは、結構あります。
    特定日のデータを入力するとか。

    日付データに30日または31日(または28/29日)を足せば翌月の同日は出ますが、月の日数を考慮しながら出すのは面倒。だったら手入力の方が早いでしょう。でも、それも面倒。


    私は以前、「日付をコピーして月だけ手修正」していました。
    コピーしてF2で修正可能にして←でカーソルを動かして月を消して、翌月を入れて・・・
    地味に面倒ですが、月1回の作業だったので、苦ではありませんでした。
    でも、これ、本当はよくありません。
    複数月分を作成すると結構面倒だし、間違いもおきます。

    「面倒だな」と思って「何とかならないか」と考えて「調べる」。

    当然、このレベルの関数は存在します。

    計算式を作ってコピーすれば、使いまわせますし(=再現性がある)、間違いもおきづらい。

    〇か月後の同日を表示する計算式

    計算式は簡単です。[まとめ]のとおりです。

    画像


    =EDATE(日付,月数)
    1か月後の同日なら =EDATE(日付,1)
    1か月前の同日なら、=EDATE(日付,-1)
    となります。

    マイクロソフトサポートの
    「日付を加算または減算する」という項目の中に「EDATE 関数を使用して日付から月を加算または減算する」という項目で説明されています。
    *EDATEの「E」が何を意味するかは分からず。
    また、月数を入れるのに、DATEというのは、個人的にはちょっと違和感がありますが、「そういうものだ」と覚えるしかありません。


    「〇か月後」の月数はセルに入れてもいい(推奨)


    まとめ]にあるように、月数はセルでも指定できます。こちらの方が、むしろ汎用的でしょう(計算式の中に変数を入れるのは、「御法度」です。修正が面倒ですから。)

    画像


    もっとも、毎月毎月、「翌月の同日」を表示する、というなら、
    =EDATE(日付,1)
    をコピーしていけばいいだけなので、計算式の中に「1」があってもいいでしょう(修正しないので)。

    画像
    12月のセルだけ計算式を作り、
    後はコピーしています。
    日付は「セルの書式設定」(ctrl+1)で
    m/d(aaa)としています。
    d(aaa)とすれば
    日と曜日のみの表示となります
    (年月日データは残っている)


    1年後の同月同日なら「12」を入れる

    「〇か月後の同日」ではなく、「1年後の同月同日」は、どうすれば出せるでしょうか?
    これも簡単です。
    月数に「12」を入れるだけです。

    画像

    '=EDATE(B18,C18)
    C18は月数ですが、これが「12」だと、翌年の同月同日が表示されます。
    勿論、計算式内に直接「12」と入れても構いません。
    =EDATE(B18,12)


    EDATE関数を使わなくても、DATE関数で出せる

    EDATEは簡単な関数ですが、「〇か月後の同日」は、EDATE関数を使わなくても出せrます。

    DATE関数を使います。

    画像


    DATE関数は 
    DATE(年,月,日)とすることで年月日データになります。
    もちろん、計算式に直接数値を入れるのではなく、セルを指定することも可能です(推奨)。

    B15の日付の1か月後の同日を出したい場合、
    =DATE(YEAR(B15),MONTH(B15)+1,DAY(B15))
    となります。
    YEARは年月日データから年を取り出し、
    MONTHは年月日データから月を取り出し、
    DAYは年月日データから日を取り出します。

    年・月・日を取り出して、月にだけ1を足して、また合体させると、翌月の同日が表示されます。
    ちょっと面倒ですが、EDATEよりは何を計算しているか分かりやすいかと思います。

    面白いのは、翌月が年をまたぐ場合(12月の1か月後など)。

    画像

    上のように、年はそのままでも、勝手に次の年に代わっています。
    (てっきり、IF関数を使って、「MONTH+
    〇」が12より大きい場合は、YEARに1を足す、という計算式にしないといけないかな、と思っていましたが、杞憂でした。)


    「1年後の同月同日」もEDATEと同じく、月に12を足すことで出せます。
    B22の日付の「C22」か月後として、「C22」に「12」が入っている場合は・・・
    =DATE(YEAR(B22),MONTH(B22)+C22,DAY(B22))

    画像
    MOHTHに月数セルの12を足しています


    もちろん、年に1を足しても「1年後の同月同日」が出せます。
    B25の日付の「C25」年後として、C25に「1」が入っている場合は・・・
    =DATE(YEAR(B25)+C25,MONTH(B25),DAY(B25))

    画像
    YEARに年数セルを足しています


    「考える」ことが重要

    正直、EDATE関数を知ってしまえば、わざわざDATE関数を使うことはないでしょう。記述が長くなりますから。

    でも、EDATE関数を知る以前に、自分の知っている知識で「どうやればできるか」考えてみることは、とても重要です。
    それは、前々の記事にも記したと通りです。

    新たな関数の知識を得ることは貴重ですが、それだけではなく、「今ある知識で何ができるか考えてみる」。これ、とっても重要です。

    これにより、エクセルを組み立てていくことが可能になります。
    (戦争に例えるのは好きではありませんが、最新武器や戦力がが手に入らずとも、手持ちのものでいかに戦うか、を考えることで戦術や戦法が鍛えられます。)

    実際、DATE関数を使った場合、MONTHに1を足すという発想から、YEARやDATEに1を足す、という発想も当然出てきます。
    それが正解か否かはともかく、考えることは重要です。
    勿論、WEB等で調べて、新たな知識を得ていくのも重要です。
    その両輪が知識と実践の幅を増やしていきます。

    もう一つ大事なのは、新しい関数を学んだり、新しい計算方法を見つけたら、それを身に着けていくこと。
    具体的には、メモしておくとか、テンプレート化するとか、「マイ関数ファイル」に保存するとか。
    一度使った程度では、すぐに忘れてしまいますので、「蓄積」することで「知識の資産化」を図ります。

    余談ですが、私が中小企業診断士の資格を取った一つの理由は、経済や経営を勉強した際、単に学ぶより、学んだ知識を資産化するためでした(体系的に学ぶため、でもありましたが)。
    まぁ、その「資産」が有効活用できているかは評価が難しいところですが・・・。

    以上、EDATE関数から脱線してしまいましたが、参考になれば幸いです。

    本稿は、「〇か月後の同日」を出すものでしたが、「〇か月(主には翌月)の末日」を出すにはどうしたらよいでしょうか?
    あるいは「ある時刻の〇時間後、あるいは〇分後」の出し方は?

    これらはまた別途お示しします。

    追記
    ・翌月(1か月後)の末日を表示する EOMOHT(日付セル,1) *別解(頭の体操)あり
    ・ 〇時間(分)後の時刻を表示する  TIME関数 *使わなくてもいい

    (参考 1日 2h)






    あなたへのおすすめ