Как получить дату переходящую на другой день Есть дата и дни плюс, надо получить дату на основе нескольких условий если суммируемая дата выпала не на праздник и выходной +1 день если пятница вышла не на праздник будет понедельник если суббота и воскресенье то вторник есть таблица с праздниками постоянно обновляемая получилось две формулы но свести не получается слишком длинная вышла =ЕСЛИ(СЧЁТЕСЛИ(D:D;B2+A2);ЕСЛИ(СЧЁТ ЕСЛИ(D:D;B2+A2+1);ЕСЛИ(СЧЁТЕСЛИ(D:D ;B2+A2+2);ЕСЛИ(СЧЁТЕСЛИ(D:D;B2+A2+3 );ЕСЛИ(СЧЁТЕСЛИ(D:D;B2+A2+4);ЕСЛИ(С ЧЁТЕСЛИ(D:D;B2+A2+5);ЕСЛИ(СЧЁТЕСЛИ( D:D;B2+A2+6);B2+A2+8;B2+A2+7);B2+A2 +6);B2+A2+5);B2+A2+4);B2+A2+3);B2+A 2+2);ЕСЛИ(ИЛИ(ДЕНЬНЕД(B2+A2;2)=5;ДЕ НЬНЕД(B2+A2;2)=6);B2+A2+3;ЕСЛИ(ДЕНЬ НЕД(B2+A2;2)=7;B2+A2+2;B2+A2+1))) и затем =ЕСЛИ(ДЕНЬНЕД(F2;2)=6;F2+2;ЕСЛИ(ДЕН ЬНЕД(F2;2)=7;F2+2;F2))
как создать функцию UDF или сократить формулу из двух сделать одну или хотя бы одну функцию для большой формулы
Goldenito, ЧИСТРАБДНИ(), ну и нужен доп.дипазон со всеми праздничными датами. Это если нужно считать именно рабочие дни. А так даты - это числа с точки зрения Excel, особенно в VBA. Каждая единица - один день. Числа или хвосты с плавающей точкой - время.
считать нужно все дни, а потом уже в конечной дате делать манипуляции исходить из дня праздник, три рабочие субботы, воскресенье получается всегда считать вторник, при субботе всегда вторник, кроме трех рабочих - будет всегда понедельник
Доброе время суток Коллеги, а можно для бестолкового объяснить, что считается? Насколько хватило разума - нужно найти от заданной рабочей даты рабочую дату через заданное количество дней, учитывая только рабочие дни. Слепил вариант. Но, не могу понять, почему для 27.02.2018 через 10 дней должно быть 12.03.2018, а не 15.03.2018, как получилось у меня? Сделал тупо - составив календарь только рабочих дней. Всё, понял в чём извращение. Интересно в какой это конторе какой страны так придумано?
Goldenito, Я логику не смотрел , просто немного "упростил" формулу. В самом алгоритме ошибка ибо получается, что надо перепроверять все после изменений. Получается что подбором проще решить.прибавляя по 1 и проверяя на список праздников и выходные.
Я лично не понимаю и не очень хочу понимать логигу, Еслиб был более понятный пример , как должно быть, то ....
Попробуйте поиграть с формулой из O =B2+A2+MATCH(0;COUNTIF(D:D;B2+A2+ROW($A$1:$A$30)-1)+(WEEKDAY(B2+A2+ROW($A$1:$A$30)-1;2)>6);0)-1 Тут не сделан +3 если пятница, ибо я не понимаю что делать если пятница стала в результате сдвига из-за выходных.
И проверьте вариант в Q =B2+A2+3*(WEEKDAY(B2+A2;2)=5)*(COUNTIF(D:D;B2+A2))+MATCH(0;COUNTIF(D:D;B2+A2+3*(WEEKDAY(B2+A2;2)=5)*(COUNTIF(D:D;B2+A2))+ROW($A$1:$A$30)-1)+(WEEKDAY(B2+A2+3*(WEEKDAY(B2+A2;2)=5)*(COUNTIF(D:D;B2+A2))+ROW($A$1:$A$30)-1;2)>6);0)-1
A$30 можно навперно на 15 поменять. Скорее всего в этом промежутке найдется нужный день