Dim i As Integer
Dim Day_in_Year(365) As Boolean 'В массиве храним инфу: True - рабочий день, False - выходной или праздник
'Заполняем значения массива на текущий год
'считывая данные из столбца B на вспомогательном листе Sheet2
'в котором единичками отметим рабочие дни
'В столбце A протащим даты от 1.01. до 31.12.
For i = 0 to 365
Day_in_Year(i) = (Sheets("Sheet2").Cells(i + 1, 2).Value = 1)
Next i
'Пусть на листе Sheet1 в ячейке a1 - исходная дата, а в ячейке b1 срок в рабочих днях
'Далее можно на кнопку (или еще куда) повесить:
Private Sub Result()
Dim i As Integer, x As Integer, n As Integer
For i = 0 to 365
'Порядковый номер в году исходной даты
If Sheets("Sheet1").Cells(1, 1).Value = Sheets("Sheet2").Cells(i + 1, 1).Value Then x = i + 1
Next i
n = Sheets("Sheet1").Cells(1, 2).Value 'Считываем количество рабочих дней
Do
If Day_in_Year(x) Then n = n - 1 'Обратный отсчет рабочих дней
x = x + 1
If n = 0 Then Exit Do
Loop
'Выводим в ячейку a3 листа Sheet1 искомую дату
Sheets("Sheet1").Cells(1, 3).Value = Sheets("Sheet2").Cells(x, 1).Value
End Sub
Это просто как пример, возможно всё реализуется проще
И всё-таки программирование