Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Как вычислить дату в будущем без учета выходных.
 
Добрый день.
Прошу подсказать как можно вычислить дату в будущем от заданной даты, но!!! без учета выходных дней.
Например:
Нужно к дате 17.04.15 13:00 прибавить 158 часов и получить 28.04.15 3:00
 
Если в A1 - 17.04.15 13:00, в B1 - 158, то
Код
=РАБДЕНЬ(A1;B1/24)+A1-ОТБР(A1)+B1/24-ОТБР(B1/24)
 
Код
=WORKDAY(INT(A1);INT(B1/24))+MOD(A1;1)+MOD(B1;24)/24
 
Алишер Шакиров, Благодарю . Все работает. Спасибо. !!!!!!
Алишер, могу я попросить , если вас не затруднит, чуть более поподробней разжевать мне логику вашего расчета.
не хочется в слепую использовать. хочу понимать что делаю.
Спасибо.
 
Про РАБДЕНЬ() можете в справке посмотреть. При помощи него перемещаемся на нужное кол-во дней без учета выходных.
ОТБР() отбрасывает дробную часть, т.е. "A1-ОТБР(A1)" получим время без даты из А1. Аналогично "B1/24-ОТБР(B1/24)", делим на 24, чтобы целое 158 превратить в часы, т.к. 158 - это 158 суток.
ЗЫ: jakim то же самое сделал через ОСТАТ(): "ОСТАТ(A1;1)" и "ОСТАТ(B1;24)/24"
Его формула в переводе на русский:
Код
=РАБДЕНЬ(ЦЕЛОЕ(A1);ЦЕЛОЕ(B1/24))+ОСТАТ(A1;1)+ОСТАТ(B1;24)/24
ЗЫЗЫ: Нужно быть осторожней если после использования РАБДЕНЬ мы попадем на пятницу. Тогда сдвигаясь на нужное кол-во часов, можем оказаться в субботе.
Добавим проверку:
Код
=РАБДЕНЬ(A1;B1/24)+A1-ОТБР(A1)+B1/24-ОТБР(B1/24)+ЕСЛИ(ДЕНЬНЕД(РАБДЕНЬ(A1;B1/24)+A1-ОТБР(A1)+B1/24-ОТБР(B1/24);2)=6;2;0)
 
Алишер еще раз спасибо.
Да, я так и пытался сам сделать через РАБДЕНЬ() , но не дошло до меня про то что нужно использовать ОТБР().
А вот проверкой с пятницей вы меня совсем озадачили))

Я тогда осмелюсь еще спросить у вас, еще один вопрос, раз вы так быстро и легко с датами на ты)))))
Задача похожая:
Нужно посчитать кол-во часов между двумя датами и опять же без учета выходных.
я вот с этими перескоками выходных совсем заблудился.

С уважением
 
Хоть и дата, время, выходные, но это уже немного другая тема. Нужно создать новую и файл с данными приложите.
 
profitcom, вы б создали аналог своих секретных данных в файле которые рассчитываете я вот даже не представляю зачем к дате прибавлять кучу часов (на кой ляд и где это нужно)
Лень двигатель прогресса, доказано!!!
 
Хорошо, сейчас сделаю
 
Цитата
jakim написал:=WORKDAY(INT(A1);INT(B1/24))+MOD(A1;1)+MOD(B1;24)/24
Jakim! Спасибо за ответ.
Страницы: 1
Читают тему (гостей: 1)