指定した月の月末営業日を取得する(土日祝日を除く)

月末を取得したり(EOMONTH)、土日祝日を除いた営業日の日数を計算する(WORKDAY)、という関数はそれぞれ存在していますが、当月末の営業日を取得したい場合、少し工夫が必要です。

例えば今日が「2018年4月1日」だった場合の、月末の営業日「2018年4月27日」を取得してみたいと思います。

まず事前に祝日を書き出したシートを別途用意しておきましょう。

下図のような簡単な記載で良いです。

20180407g

必要なのはA列だけなのですが、B列のようにメモを入れておくと自分でも分かりやすいです。

5月以降も必要なぶんを適宜入力してください。

では別のシートで実際に式を入力していきます。





例はA列に日付を入力した時、B列にその月の月末営業日が表示されるようにしています。。
(A列の日付は単純に「4/1」の形式で入力すれば大丈夫ですが、曜日がわかるように図では書式設定しています)

B2セルに以下の式を入力します。

=WORKDAY(EOMONTH(A2,0)+1,-1,祝日!$A$1:$A$4)

式を下方へコピーすると、下図のようにシリアル値で結果が表示されます。

20180407h

このままでは分かりにくいので、B列を選択して右クリックし「セルの書式設定」を表示します。

表示形式タブから好きな日付の設定を選択してください。

下図は曜日を出すために「ユーザー定義」から「yyyy/mm/dd(aaa)」と設定しています。

20180407i

 

※式は、EOMONTHで当月の末日を取得し、「+1」で翌月の1日を一旦取得します。
翌月1日から「-1」をして当月に戻る際に、WORKDAYで土日祝日を避けられるので、営業日を取得することができる、という作りになっています。