Задав условие, чтобы проверить, существует ли 20-й день месяца, сделайте что-нибудь, иначе перейдите на следующий рабочий день. - PullRequest
0 голосов
/ 19 февраля 2019

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

, если день 20-й, т. Е. День (Ячейка) = 20Делай вещь 20го числа.

В некоторых месяцах нет 20-го числа, поэтому я хочу, чтобы условие оценило, существует ли 20-е, в противном случае перейдите на следующий рабочий день и сделайте то, что должно было сделать 20-го числа.

Используемая текущая формула:

=IF(DAY(A16)=20;"do the thing on the 20th";"")

в снимке, апрель 2019 года не имеет 20-го числа месяца, и поэтому в столбце C ничего не отображается, я хотел бы, чтобы он отображался на следующий рабочий день, который будет22 апреля.

snapshot of current result since no 20th exist

1 Ответ

0 голосов
/ 19 февраля 2019

Чтобы сдвинуть субботу, 20 апреля 2019 г., в понедельник, 22 апреля 2019 г., вычтите день и добавьте рабочий день.

=IF(A16=WORKDAY(DATE(YEAR(A16); MONTH(A16); 19); 1); "do the thing on the 20th"; "")

Если вам не нравится конструкция даты DATE(YEAR(A16); MONTH(A16); 19), EOMONTH(A16, -1)+19 выполняет то же самое;то есть 19-й день месяца и года в A16.

...