プロが教える店舗&オフィスのセキュリティ対策術

A2(2018年3月27日)の月末締め・翌々月5日を通知日としてB列に、翌々月10日を支払日としてC列に表示させたいとします。なお、いずれも銀行休業日と重なる場合は、翌営業日とします。
ここでの正解は、5月5日は祝日なので2018年5月7日になります。(キャプチャでは「祝日」の範囲が2017年だけのように見えますが、画面外に2018年以降も入力されています)


まず試しに「=EOMONTH(A2,1)」と入力すると「2018年4月30日」(A2の翌月末)と表示されたので、この値の5日後を求めようと考えました。

そこでB2に以下のように入力しました。

=WORKDAY(EOMONTH(A2,1),5,祝日)

しかし、「2018年5月9日」で不正解になってしまいます。

次にWORKDAY.INTL関数に変えてみて、以下のように入力してみました。

=WORKDAY.INTL(EOMONTH(A2,1)+5,1,,祝日)

2018年5月7日と表示され、正解のように見えます。しかし、同様の方法により翌々月10日の支払日として以下のように入力すると……

=WORKDAY.INTL(EOMONTH(A2,1)+10,1,1,祝日)(キャプチャ参照)

2018年5月11日と表示され、やはり不正解のようです。

私はどこが間違っているのでしょう?(たくさんありそうw)、そして正解はなんでしょう?

「銀行休業日をさけて月末締め・翌々月5日を」の質問画像
gooドクター

A 回答 (1件)

=WORKDAY(EOMONTH(A2,1),5,祝日)では月末日から土日休日以外の5日後の日付になります。


5日以降最初の営業日ならば4日の次の平日と考えて
=WORKDAY(EOMONTH(A2,1)+4,1,祝日)
にすれば動くと思います。
    • good
    • 0
この回答へのお礼

ありがとうございます。

=WORKDAY(EOMONTH(A2,1)+4,1,祝日)

だと3月5日になってしまいました。そこで、

=WORKDAY(EOMONTH(A2,2)+4,1,祝日)

のようにしたところ、うまくいきました。

どうもありがとうございます!

お礼日時:2018/04/06 01:00

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング