支払日を購入日の翌月末日としたい、有効期限を 2 か月後の月末としたいなど、月の最終日を
取得して表示したい場合は、EOMONTH 関数を使用できます。

EOMONTH 関数は、Excel 2003 までは「分析ツール」をアドインで組み込まなければ
利用できない関数でしたが、Excel 2007 や Excel 2010 であれば、標準で (特別なことをしなくても)
他のワークシート関数と同じように利用できます。


step1 EOMONTH関数について


EOMONTH 関数は、基準となる日付と、いつの月末の日付を知りたいのかを指定すれば、
その日付のシリアル値を返してくれる関数です。

=EOMONTH (開始日 , )

開始日には、起算日となる日付を指定します。起算日となる日付が入力されているセルを指定する
ことができます。たとえば、セル A1 に起算日となる日付が入力されているのなら、A1 を指定します。
そのほか、「2012/10/1」のような特定の日付を指定するときは、シリアル値で指定したり、
「=EDATE("2012/10/1" , 1) のようにダブル クォーテーションで括って指定したりできます。

には、開始日から起算した月数を指定します。「1」の場合は 1 か月後、「2」の場合は
2 か月後、のように、正の値を指定すると開始日より後の日付が表示されます。
「-1」のようにの、負の値を指定すると 1 か月前など、開始日より前の日付が表示されます。


step2 翌月の最終日を表示する


ここでは、セル C3 に入力されている日付を開始日として、翌月末の日付をセル C4 に
表示します。


1. セル C4 に、「=EOMONTH(C3 , 1)」となるように数式を作成して [Enter] キーを 押します。


2. セル C3 の日付 (2012/10/19) の翌月末の日付が表示されます。
このとき、日付ではなく、「41243」のようにシリアル値が表示されている場合は、
セルの書式設定で表示形式を日付に変更します。


step3 「1日」を表示する


指定した日付の当月の 1 日を表示したいときは、前月の末日を取得して、+1 日します。


1. 開始日 (セル C3) の前月の末日を取得するには、引数の "月" に「-1」を指定します。


2. 取得した前月の末日に「+1」する数式に編集します。





DATE、YEAR、MONTH 関数がわかる方ならば、EOMONTH 関数を使用しなくても、
月末の日付や 1 日を表示することはできると思いますが、EOMONTH 関数を使えれば、
1 つの関数でさらっと答えがでてくるのでシンプルだと思います。

1 か月後の日付が知りたい、という場合は、「1 か月後の日付を表示したいときに -EDATE 関数-」に記載していますのでそちらをどうぞ。


石田 かのこ