Страницы: 1 2 След.
RSS
Рассчитать время выполнения работы без учета выходных дней и нерабочего времени
 
Доброго дня, друзья!
Нужна ваша помощь.
Задача:
Рассчитать время затраченное на выполнение работы, с учетом того, что сотрудник работает с 9 до 18 и что в субботу и воскресенье у него выходной.
То есть, сколько время у него ушло на выполнение задания не считая время после 18:00 до 9:00 и не считая выходных(Которое сотрудник затратил именно в промежутке своего рабочего времени с 9 до 18 в будни)

Заранее благодарен.
Изменено: Dyroff - 15.09.2017 10:10:36
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff, и вам доброго дня!
А точно есть диапазоны типа "01.09 — 04.09"??? То есть с таким же успехом он может начать в августе, а закончить, например, в октябре? То есть:
1. нужно высчитать количество ЦЕЛЫХ дней между 2мя датами
2. вычесть выходные (субботы и воскресенья), если они попадают в диапазон
3. рассчитать разницу в часах, после разборок с целыми
Верно?

Serge_007 вот тут файл приложил (дублирую тут). Очень похоже на ваш случай. Почитайте тему и ещё тут почитайте.
Изменено: Jack Famous - 15.09.2017 12:35:08
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, Верно.
Спасибо за помощь. Но по ссылкам не совсем мои случаи. В первом считается просто количество пройденного времени без учета выходных, а второй- так вовсе обычная разница во времени.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Цитата
Dyroff написал:
В первом считается просто количество пройденного времени без учета выходных
не верю (см. скрин). Единственное, что он не учитывает, как я понял, это 8-часовой рабочий день
Изменено: Jack Famous - 15.09.2017 13:55:52
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, В 8 часовом рабочем дне вся загвоздка, исключить выходные для меня не проблема. А вот как учесть при этом ещё и рабочий день- я не знаю.
Потому и говорю, что не мой случай, даже не смотря на то, что одно из условий учтено.
С чем Вы пытаетесь поспорить?
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
вроде так:
Код
=ЕСЛИ(ЦЕЛОЕ(A2)=ЦЕЛОЕ(B2);A2-B2;((B2-ЦЕЛОЕ(B2))-9/24)+(18/24-(A2-ЦЕЛОЕ(A2)))+МАКС(ЧИСТРАБДНИ(B2;A2)-2;0)*(9/24))
 
webley, Супер! Спасибо огромное! Сам бы точно не дошел
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Вот так, но на самом деле у меня считает астрономические часы с 9.00 до 18.00. Для подсчета рабочих часов нужно знать время обеденного перерыва.
 
Цитата
Spooker написал:
у меня считает астрономические часы с 9.00 до 18.00
кстати, у меня тоже
 
Spooker, любое время обеденного перерыва в не более часа
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Нужно именно время, а не продолжительность (например с 12.00 до 13.00)
 
Dyroff, ну раз начало/окончание обеда не регламентированно, то это может давать погрешность в 1 час каждый день
Изменено: webley - 15.09.2017 14:40:30
 
webley, В 22 строке Вашего примера считает странно (либо я криво условие задал)
Начало выполнения в пятницу в 19:30 а окончание в понед в 11:30. По идее должно стоять 2:30 так как рабочего времени потрачено на это именно столько  (понед с 9:00) ведь в пятницу после 18:00 уже нерабочее время
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Ребят, тема ходовая (сам не сталкивался, т.к. учёт ведётся изначально в более "удобоваримом" виде), на форумах в интернетах подобных вопросов полно. Так вот, мастера, может сможет кто UDFку смастерить для универсальности?
Примеры переменных:
Вот эта была бы мегакрутая вещь  8)  :idea:
Изменено: Jack Famous - 15.09.2017 15:01:40
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Цитата
Dyroff написал:
В 22 строке Вашего примера считает странно (либо я криво условие задал)
Тут все перемешалось:
1. У меня в формуле была ошибка
2. Вы действительно так указали
3. Этот момент в принципе не учитывался

исправил - проверяйте
 
webley,  Ага... оно. Ещё раз, спасибо Вам огромное.
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Jack Famous, И вам спасибо. Инициативу с созданием UDF - поддерживаю)
Нужно бежать со всех ног, чтобы только оставаться на месте, а чтобы куда-то попасть, надо бежать как минимум вдвое быстрее!
 
Dyroff, я позже своего монстра скину))) решение через связь таблиц. Не будете пользоваться, но, может, что-то подсмотрите
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Либо я что-то пропустил, либо формула не учитывает 8 часовой рабочий день
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, ну не то чтобы вообще не учитывает (хотя по факту получается 9-ти часовой), но настолько частные случаи действительно не рассмотрены как маловероятные - начать работать раньше начала рабочего дня и закончить позже окончания рабочего дня и все это в течении одного дня...
Думаю, что для практического применения это излишне
 
webley, возможно) с UDF, случаем не поможете?))
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Вот)) этот монстрилла, кажется, учитывает вообще ВСЁ))) от пользователя нужно ввести только дата-время начала и окончания и заполнить праздники.
Смотрите, разбирайтесь, спрашивайте и пользуйтесь (таблица динамическая)  ;)

P.S.: столбцы с формулами скрыты все, кроме 2х итоговых
Изменено: Jack Famous - 15.09.2017 20:20:24
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, очень мощная работа, я действительно впечатлен.
Но нашел некоторые баги в формулах, которые дают неправильные результаты.
1.
27.09.18   18:3101.10.18   10:44
В итоге получаются такие результаты (я менял начало рабочего дня на 9 утра, но сути это не меняет).
19:44:00
Это неверно, ответ должен быть 10:44. Почему-то накручивается ещё 1 рабочий день набежал.

2. Если начало в одних выходных, а конец в других выходных, то получает ноль часов, а должна быть неделя (40 часов)
30.09.18   18:3107.10.18   10:44

Но второе - некритично, такое бывает редко, а вот в первом случае какой-то баг, как мне кажется.

Поправьте, если не прав. Если есть вариант поправить, буду благодарен.
 
gilmark, спасибо. Дело давнее - под конкретную задачу всё работало, а лучшее - враг хорошего. Сейчас времени на доработку нет, но, думаю, что немного "покопавшись в интернетах", вы сами всё легко исправите  ;)
Изменено: Jack Famous - 07.11.2018 14:07:20
Во всех делах очень полезно периодически ставить знак вопроса к тому, что вы с давних пор считали не требующим доказательств (Бертран Рассел) ►Благодарности сюда◄
 
Jack Famous, да уже голову сломал, если честно. Был обрадован, найдя Ваш файл, но, к сожалению, начало в позднее время (после 18) дает какие-то странные результаты...
 
Цитата
gilmark написал: начало в позднее время (после 18) дает какие-то странные результаты...
Переход в другие сутки/день не учитываете?
OFF И вообще, вам что - до секунд/минут точность нужна? Резерв времени на болезни, штормы, прогулы по загулам - где он? Или это просто ваше учебно-тренировочное задание, котором вы "озадачиваете" форумчан?
"Ctrl+S" - достойное завершение ваших гениальных мыслей!.. ;)
 
Z,Нет, не учебно-тренировочное.
И не до секунд.
Реальный кейс.
Примем начало рабочего дня в 8 утра, конец в 18 часов.
Начало выполнения задачи 27.09.18 в 18:30. Это четверг.
Конец выполнения задачи 1.10.18 в 10:30. Это понедельник.


Считаю устно: у нас вся пятница (10 часов) + 2,5 часа понедельника. Итого 12,5 часов. Верно?

Далее считаю в файле. Я даже ничего не меняю, чтоб не нарушить эксперимента. Получается 18,5 часов (см. скриншот).
 
Расчёт в одной формуле и по шагам отдельно для понимания. См. файл.
Изменено: JayBhagavan - 08.11.2018 17:38:19 (файл...)

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
 
JayBhagavan,
1. Когда даты одинаковые, но время разное, то считает неправильно. Небольшая доработка решает эту проблему (см. скриншот 1)

2. Когда дата на следующий день, то тоже происходит ошибка (см. скриншот 2)
 
 
gilmark, спасибо за замечания. Исправил. Файл перезалил.

Формула массива (ФМ) вводится Ctrl+Shift+Enter
Memento mori
Страницы: 1 2 След.
Читают тему
Наверх