1

Существует ли формула, которую я могу поместить в ячейку L3, которая дает дату, сравнивая дату в ячейке E7, добавляя к этой дате 53 полных дня, исключая любые воскресенья в течение этого периода. Итоговая дата будет например. (E7) 3/4/2014 плюс 53 дня без учета каких-либо воскресных дней и передачи мне этой даты в ячейке L3.

Я был бы очень признателен за любую помощь в этом, пожалуйста :-)

3 ответа3

2

Следующая формула может быть адаптирована для любого количества дней (53 можно заменить другим номером или ссылкой на ячейку):

=E7+53+ROUNDDOWN(53/7,0)+IF((MOD(53,7)+WEEKDAY(E7,2))>6,1,0)
1

Следующая формула добавит 53 дня, не включая воскресенья, к дате в ячейке E7.

=E7+60+IF(WEEKDAY(E7)>=4, 1, 0)

Всегда будет добавлено не менее 60 дней, потому что есть 53 для начала, плюс минимум 7 воскресений. Затем, если исходной датой была среда, четверг, пятница или суббота, необходимо добавить еще один день, так как в него включено еще одно воскресенье.

1

Вы можете легко сделать это с помощью макроса VBA:

Function CalcDate(startDate, increment) As Date

    endDate = DateAdd("d", increment, Date)

    sundays = 0

    For i = startDate To endDate
        If Weekday(i) = vbSunday Then
            sundays = sundays + 1
        End If
    Next

    If sundays > 0 Then
        endDate = DateAdd("d", sundays, endDate)
    End If

    CalcDate = endDate

End Function

Затем вы можете вызвать это так же, как любую другую встроенную функцию:

=CalcDate(E7,53)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .