先ほど書いた「
Excel関数 営業日をきわめて支払日を計算する」の続きです。
2-1の部分をVBAで関数作っちゃって、もっと楽にするという無駄な作業を記述します。
そう、ExcelVBAって関数を作れちゃうんですね。素敵過ぎます!
VBEを開いて、標準モジュールに次のコードを書けばOKです。

Function businessday(day1 As Date, day2 As Integer)
Dim eom_day1 As Date
'day1を元に当月末を設定
eom_day1 = DateSerial(Year(day1), Month(day1) + 1, 1) - 1
'day2の数値にあわせて暫定で算出対象の営業日を計算
If day2 < 30 Then
businessday = eom_day1 + day2
ElseIf day2 = 30 Then
businessday = DateSerial(Year(day1), Month(day1) + 2, 1) - 1
ElseIf 30 < day2 < 60 Then
businessday = DateSerial(Year(day1), Month(day1) + 2, 1) - 1 + (day2 - 30)
ElseIf day2 = 60 Then
businessday = DateSerial(Year(day1), Month(day1) + 3, 1) - 1
Else
End If
End Function
そして、Excelに戻って、先ほど作成した「businessday」関数を使います。
関数名は「businessday」でなくても何でも良かったんですけどね。
作ったからにはそれで入力。引数には設定したとおり「基準日」と「日数」を入れます。
ここではA1の絶対値を基準に、B列の日数で計算しています。

F列は先ほど同じく、E列を元にした「Workday」で祝日を避けています。
以上、無駄にVBAも使って営業日を算出する方法でした。
※ちなみにVBAは独学なので、ソースのきれいさとか、Elseのあとの処理どうなっているんだとか、その辺は目を瞑ってください。必要に応じて完成させます。あしからず。