月の最終日を算出するワークシート関数

スポンサーリンク

月の最終日は簡単に算出できる

以前にこちらに月の初日、翌月の初日を算出するユーザー定義関数を考えて載せたことがあります。

ユーザー定義関数を考えたときはこれけっこう便利じゃね?と正直自信があったのですが、VBAの勉強を進める過程ですごい簡単に算出できる関数の存在を知りました。
しかもVBA専用の関数ではなく、通常のワークシート関数です。

今回は自分への戒めも込めて月の最終日を求めるEOMONTH関数とその使い方についてご紹介します。

EOMONTH関数の使い方

仮にA1セルに日付が記入されていて、その月の末日を算出したい場合、下記のように関数を入力します。

=EOMONTH(A1,0)

1つ目の引数A1は月末を求めたい対象セルや値を入力します。

2つ目の引数は「0」だと1つ目の引数に設定した月の末日、「1」にすると翌月の末日、逆に「-1」にすると前月の末日を算出します。

スポンサーリンク

EOMONTH関数の応用

翌月の最初の日を取得

例えばA1セルに日付が記載されていたとして、翌月の最初の日を算出するには下記の通り入力します。

=EOMONTH(A1,0)+1

当月の最初の日を取得

当月の初日を取得するにあたって、以前に想定していた単純な数式は下記の通りです。

=VALUE(YEAR(A1)& “/” &MONTH(A1)& “/” &1)

これはこれで単純な仕様なのでわかりやすいですが、まず文字列として算出された値を値に変換する必要があり、かなり式が長くなります。
その点EOMONTH関数を使用すれば下記の通りすっきりします。

=EOMONTH(A1,-1)+1

これはEOMONTH関数で前月の最終日を算出し、その数値に1を追加する流れで当月の最初の日を算出しています。

おすすめ書籍 (広告)

コメント