Уважаемые специалисты! Обращаюсь к вам за помощью и советом. Имеется задача по работе – нужно создать форму для расчета даты и времени готовности работ с учетом рабочего графика. Перечитал немало тем, они мне очень помогли — благодаря этому у меня получилось реализовать хотя бы часть задуманного, но, далее самому мне не разобраться…. Файл прилагаю. Думаю общее назначение приложенного файла будет понятно по заголовкам, но дам пару комментариев: • Желтым выделены ячейки, которые предполагаются для заполнения конечным пользователем, все остальное должно рассчитываться автоматически. • Толстыми красными границами выделены проблемные места, помощь по которым надеюсь получить на вашем (теперь и моем от части) форуме. • Под 1 рабочим днем предполагается одна 9-ти часовая смена, в рабочие дни (Пн-Пт, исключая также и гос. праздники) в интервале с 10-19ч. (данные интервалы хотелось бы иметь настраиваемыми – лист «Производственный график» содержит данные по графику работы и праздничным дням, на него и ссылаются текущие формулы). Если попытаться уйти от «специфики», требуется следующее — нужно рассчитать две даты: 1. Прибавить к начальной дате количество рабочих часов, необходимых на производство, и вычислить тем самым дату и время готовности с учетом графика работы, выходных и праздничных дней (выделено красным слева). Если начало работ в выходной день – отсчет должен идти от ближайшей смены – т.е. с 10ч. утра ближайшего рабочего дня. Если начало работ в рабочий день, но раньше 10-ти часов – отсчет должен идти только с 10-ти часов; если позже 19ч., то отсчет должен идти с 10-ти часов утра следующего рабочего дня. 2. Отнять от требуемой даты готовности количество рабочих часов и вычислить дату и время начала операции, т.е. когда нужно приступить к выполнению, чтобы успеть к требуемому сроку (выделено красным справа). С пунктом 1 более менее получилось, но есть два НО: 1. Если ввести в качестве начальной даты выходной день, форма не выдает желаемый результат — в работе учитывается и выходной день… и 2. Если время начала выполнения больше времени окончания рабочего дня, форма также считает некорректно. Подобные темы видел, благодаря им и получилось частично решить задачу, но понял, что все это работает только когда начало работ также находится в пределах рабочих дней и графика, если нет – форма работает некорректно.
С пунктом 2 совсем запутался – в некоторых ситуациях форма считает совсем по непонятному алгоритму, хотя мне казалось если я решу п. 1, с данным у меня проблем не возникнет, но не тут то было… Если задачу описал некорректно, прошу не «бить». Обязуюсь исправиться. Буду благодарен за любые советы и помощь. Спасибо! P.s. Не получилось выдержать одно из правил - сохранить файл примера в 2003-xls. Оставил в xlsx Иначе у меня часть формул перестает вовсе работать и все сбивается.. Простите, пожалуйста.
Уважаемые специалисты! Обращаюсь к вам за помощью и советом. Имеется задача по работе – нужно создать форму для расчета даты и времени готовности работ с учетом рабочего графика. Перечитал немало тем, они мне очень помогли — благодаря этому у меня получилось реализовать хотя бы часть задуманного, но, далее самому мне не разобраться…. Файл прилагаю. Думаю общее назначение приложенного файла будет понятно по заголовкам, но дам пару комментариев: • Желтым выделены ячейки, которые предполагаются для заполнения конечным пользователем, все остальное должно рассчитываться автоматически. • Толстыми красными границами выделены проблемные места, помощь по которым надеюсь получить на вашем (теперь и моем от части) форуме. • Под 1 рабочим днем предполагается одна 9-ти часовая смена, в рабочие дни (Пн-Пт, исключая также и гос. праздники) в интервале с 10-19ч. (данные интервалы хотелось бы иметь настраиваемыми – лист «Производственный график» содержит данные по графику работы и праздничным дням, на него и ссылаются текущие формулы). Если попытаться уйти от «специфики», требуется следующее — нужно рассчитать две даты: 1. Прибавить к начальной дате количество рабочих часов, необходимых на производство, и вычислить тем самым дату и время готовности с учетом графика работы, выходных и праздничных дней (выделено красным слева). Если начало работ в выходной день – отсчет должен идти от ближайшей смены – т.е. с 10ч. утра ближайшего рабочего дня. Если начало работ в рабочий день, но раньше 10-ти часов – отсчет должен идти только с 10-ти часов; если позже 19ч., то отсчет должен идти с 10-ти часов утра следующего рабочего дня. 2. Отнять от требуемой даты готовности количество рабочих часов и вычислить дату и время начала операции, т.е. когда нужно приступить к выполнению, чтобы успеть к требуемому сроку (выделено красным справа). С пунктом 1 более менее получилось, но есть два НО: 1. Если ввести в качестве начальной даты выходной день, форма не выдает желаемый результат — в работе учитывается и выходной день… и 2. Если время начала выполнения больше времени окончания рабочего дня, форма также считает некорректно. Подобные темы видел, благодаря им и получилось частично решить задачу, но понял, что все это работает только когда начало работ также находится в пределах рабочих дней и графика, если нет – форма работает некорректно.
С пунктом 2 совсем запутался – в некоторых ситуациях форма считает совсем по непонятному алгоритму, хотя мне казалось если я решу п. 1, с данным у меня проблем не возникнет, но не тут то было… Если задачу описал некорректно, прошу не «бить». Обязуюсь исправиться. Буду благодарен за любые советы и помощь. Спасибо! P.s. Не получилось выдержать одно из правил - сохранить файл примера в 2003-xls. Оставил в xlsx Иначе у меня часть формул перестает вовсе работать и все сбивается.. Простите, пожалуйста.yurec_ogurec