Для начала вам не хватает четкого определения проблемы.Сколько часов в будние дни между полуднем пятницы и полуднем субботы?
Хорошо, я думаю, вы иллюстрируете того, что вы хотите на нижнем изображении.
Чтобы быть менее язвительным, вам не хватает (что вы выглядите , чтобы не заметить), это то, что во всех примерах вы говорите, что результат неправильный (и только вэти случаи), либо ваша дата / время начала (F<i>n</i>
), либо ваша дата / время окончания (G<i>n</i>
) - суббота или воскресенье.(Попробуйте использовать формат <b>ddd</b> mm-dd-yyyy h:mm:ss
вместо mm-dd-yyyy h:mm:ss
.) NETWORKDAYS(Wednesday,Friday)
- это 3
.Но NETWORKDAYS(Wednesday,Saturday)
и NETWORKDAYS(Wednesday,Sunday)
также 3
.
Возьмите свой первый пример: Вт 07-03-2018 15:44:16 до Солнце 07-08-2018 20:09:56.NETWORKDAYS(Tuesday,Sunday)
обычно равно 4
(вторник, среда, четверг и пятница; игнорируя выходные), но NETWORKDAYS(Tuesday 07-03,Sunday 07-08)
равно 3
из-за выходного дня 07-04.Таким образом, ваша формула работает до 3-1- (15:44:16) + (20:09:56) или 2+ (20: 09: 56-15: 44: 16), или 2 дня и 4:25: 40, что равно 52:25:40, и это то, что Excel дает вам.Вы не приняли во внимание тот факт, что
your_formula(Tue 07-03-2018 15:44:16, Sun 07-08-2018 20:09:56)
равно
your_formula(Tue 07-03-2018 15:44:16, Fri 07-06-2018 20:09:56)
, что пропускает 3:50:04 между
Пт 07-
06 -2018 20:09:56 иПт 07-06-2018 24:00:00 - и, о чудо, 3:50:04 - это количество расхождений.
Еще более ясна третья строка, где указаны дата / время началасб 07-21-2018 6: 30: 12 , и расхождение составляет 6: 30: 12.
Я нашел решение, основанное на том факте, что NETWORKDAYS(<i>some_date</i>, <i>the_<b>same</b>_date</i>, <i>(holidays)</i>)
равно 1, если дата является рабочим днем, и 0, если это не так.Так что
=NETWORKDAYS(F2,G2,Q$2:Q$7)-NETWORKDAYS(G2,G2,Q$2:Q$7)-NETWORKDAYS(F2,F2,Q$2:Q$7)*MOD(F2,1)+NETWORKDAYS(G2,G2,Q$2:Q$7)*MOD(G2,1)
даст вам желаемый результат.