Привет, форумчане! Всех с наступающим!
Задача встала такая. Рассчитать время между двумя датами без учета выходных дней (СБ, ВС). Не чистое раб время, а именно просто время, десятичными числами.
Например, начальная дата 03.12.2022 10:00:00 конечная дата 06.12.2022 10:00:00. При вычитании двух дат получим 3,00. Десятичное число будет иметь дробную часть в зависимости от разницы времени вплоть до секунд. Соответственно, использовать функцию ЧИСТРАБДНИ.МЕЖД не получится. По крайней мере в ее простом применении.
Самое близкое, что я пока сам смог написать выглядит так, добавлены 2 столбца с днями неделями для упрощения:
=ЕСЛИ(И([@[День недели начальной даты ]]=5;[@[День недели конечной даты]]<>5);[@[конечная дата]-[@[начальная дата]]-2;ЕСЛИ(И([@[День недели начальной даты ]]=6;[@[День недели конечной даты]]<>6);[@[начальная дата ]]-[@[конечная дата]]-1;[@[конечная дата]]-[@[начальная дата]]))
Попытался вычесть не учитываемое время выходных из срока. Но формула с сильной неточностью.
1) не учитывается именно время начальной и конечных дат. Начальная дата может быть суббота 00:00, конечная понедельник 10.00, должно учесться только 10 ч времени, т.е. примерно 0.4 по десятичному числу. Моя формула примерно вернет 58ч - 24ч = 34ч, т.е примерно 1,5 по десятичному. К тому же совсем не учитывается если начальная дата воскресенье. Да и вполне может быть так, что начальная дата четверг или в принципе любой день нед кроме выходного, но чаще всего перевод на выходные идет именно если начальная дата пятница
2) Для задачи не особо принципиально, обычно конечная и начальная даты не превышают неделю по разности, но в редких случаях бывает, что промежуток может заходить, например на 4 выходных дня.
Задача встала такая. Рассчитать время между двумя датами без учета выходных дней (СБ, ВС). Не чистое раб время, а именно просто время, десятичными числами.
Например, начальная дата 03.12.2022 10:00:00 конечная дата 06.12.2022 10:00:00. При вычитании двух дат получим 3,00. Десятичное число будет иметь дробную часть в зависимости от разницы времени вплоть до секунд. Соответственно, использовать функцию ЧИСТРАБДНИ.МЕЖД не получится. По крайней мере в ее простом применении.
Самое близкое, что я пока сам смог написать выглядит так, добавлены 2 столбца с днями неделями для упрощения:
=ЕСЛИ(И([@[День недели начальной даты ]]=5;[@[День недели конечной даты]]<>5);[@[конечная дата]-[@[начальная дата]]-2;ЕСЛИ(И([@[День недели начальной даты ]]=6;[@[День недели конечной даты]]<>6);[@[начальная дата ]]-[@[конечная дата]]-1;[@[конечная дата]]-[@[начальная дата]]))
Попытался вычесть не учитываемое время выходных из срока. Но формула с сильной неточностью.
1) не учитывается именно время начальной и конечных дат. Начальная дата может быть суббота 00:00, конечная понедельник 10.00, должно учесться только 10 ч времени, т.е. примерно 0.4 по десятичному числу. Моя формула примерно вернет 58ч - 24ч = 34ч, т.е примерно 1,5 по десятичному. К тому же совсем не учитывается если начальная дата воскресенье. Да и вполне может быть так, что начальная дата четверг или в принципе любой день нед кроме выходного, но чаще всего перевод на выходные идет именно если начальная дата пятница
2) Для задачи не особо принципиально, обычно конечная и начальная даты не превышают неделю по разности, но в редких случаях бывает, что промежуток может заходить, например на 4 выходных дня.
Изменено: - 29.12.2022 10:50:57