Фильтр дат VBA

Фильтр дат VBA

Самый простой способ объяснить это на примере. У меня есть две даты (например) "2014-08-08T8:11:31" и "2014-08-11T13:53:29". Мне нужно придать им правильную форму (дата), исключить выходные (суббота, воскресенье) и изменить их на рабочие часы. В нашем случае это выходные и 2 часа на обед - первый день почти 8 часов (с 8 до 17) и второй день почти 5 часов. Вместе 13 часов. Введите две даты, выходные часы (или MD)

решение1

Функция NETWORKDAYSможет вычислить количество рабочих дней между двумя датами. Чтобы преобразовать дни в часы, нам нужно умножить это на 8.

Дополнительно вам нужно рассчитать количество часов для первого дня (разница между 17 часами, или 17/24-частью дня) и последнего дня (разница между временем окончания и 8 часами, или 8/24). Поскольку мы вычисляем часы первого и последнего дня, нам нужно вычесть 2 из NETWORKDAYSответа.

Таким образом, если начальная дата указана в ячейке A1, а конечная дата — в ячейке A2, то ваша окончательная функция будет иметь вид: =(NETWORKDAYS(A1;A2)-2)*8+17/24-MOD(A1;1)-8/24+MOD(A2;1).

Обратите внимание, что в формуле не выполняется проверка корректности входных данных.

Связанный контент