・特定の日から〇か月後の月末を表示する方法
・EOMONTH関数の使い方
練習用サンプルデータ(ダウンロード)
※シートは練習用と成果物(解答)の2種類あります。閲覧したい方はダウンロードして下さい。
特定の日から〇か月後の月末を調べたい時や、〇か月前の月末を求めたい時は、EOMONTH関数を使うと便利に求めることができます。
たとえば、売上日の1か月後の月末に支払日としたいなら、EOMONTH関数を利用すると簡単に計算できます。
(練習で実施する「売上日の翌月末を算出」の完成図)
練習サンプルデータは、ダウンロードファイルのシート「練習用」となります。 例題は、B列の売上日の翌月末を支払日とし、C列に「支払日」を表示する問題です。


‘【1】EOMONTH関数の公式
※サンプルデータは、シート「練習用」になります。
‘(1)EOMONTH関数
「EOMONTH」は、「End Of MONTH」の略称のため、「エンド・オブ・マンス 関数」と呼びます。数式は、「開始日の日付から、月に入力されている月数後の、月末日」を計算します。

【2】EOMONTH関数の使い方
まず、セルD2に、B1の翌月末の日付を算出したいと思います。
‘①まず、セルD2を選択し、
数式「=EOMONTH(B2,1)」を入力します。すると「2022/2/28」の値が返ってきます。


‘②次は、残りのセルも同様に計算します。D2を選択します。
セルの右隅にマウスを持ってくると、「十」マークが表示されます。

‘③「十」マークをダブルクリックしてオートフィルを実行します。
すると、残りのセルも計算されます。

POINT
EOMONT関数は、月末の日付を計算しますが、少し数式を工夫するだけで、
月初の1日や、20日なども計算することができます。
ご参考
たとえば、例題で、翌月の1日を計算したい場合
「セルD2=EOMONTH(B2,0)+1」
これで、翌月の「2022/2/1」と表示されます。
たとえば、例題で、翌月の20日を計算したい場合
「セルD2=EOMONTH(B2,0)+20」
これで、翌月の「2022/2/20」を表示することができます。
(補足)
「セルD2=EOMONTH(B2,0)+1」の中にある数式「=EOMONTH(B2,0)」の計算は、何か月後の値を「0」とすることで、当月末が何日かを計算することができます。
何か月前を指定したければ、「月」の引数に、マイナスの数字を入力することで、前の月の日付を求めることも可能です。
【補足】ダイアログボックスを使って計算する場合
‘①セルD2を選択し関数の挿入の「fx」をクリックします。

‘②関数の検索でEOMONTHを検索してください。
関数名でEOMONTHを選択後、「OK」します。

‘③開始日にセルB2を選択し、月に「1」を入力。その後、OKをクリック。
開始日は、「この日付から数えて」の日付を指定
月は、「〇か月後」の月を指定

‘④ここで、日付が表示されなかった場合
以下のような数字が表示された場合は、この数字は、日付を表すシリアル値です。
次の設定をすることで解消できます。
‘1)セルを選択し、右クリックで、「セルの書式設定」を選択してください。

‘2)「表示形式」タブで、「日付」を選択し、種類で「2012/3/14」など、表示したい表示形式を選ぶことで、先ほどのシリアル値の値を日付形式で表示することができます。

【現場の実務編】の記事一覧をご覧になりたい方は以下をご参照ください。
【3】まとめ
「この日から数えて○ヶ月後の、月末日」の計算は、EOMONTH関数を使うと簡単に計算できます。単純に月末日だけ計算すればよいだけであればよいですが、もし、支払日が土日祝日の場合は翌営業日を表示するといった処理が必要な場合は、【現場の実務編17】のような工夫が必要となります。
【現場の実務編17】については、以下の記事をご参考ください。






