Проблема приверженности / управления временем - PullRequest
0 голосов
/ 30 января 2019

Я отправил этот вопрос пару дней назад, но в посте не было особой ясности.Я делаю репост с некоторым функциональным кодом, я дошел до того, что он выяснит, сколько времени вы были вдали от своего рабочего стола, если вы выходите из системы до или после перерыва.Но если они выйдут из системы до перерыва и снова войдут в систему после того, как она не отследит это время, поскольку она вызовет обе проверки.

Есть ли какие-либо идеи о том, как упростить это или добавить эту последнюю функциональность?

OnCall! U2 - вход в систему

OnCall! T2 - выход из системы

Статистика! AC2: AC4 - перерывы

Статистика! AD2: AD4 - перерывы

Статистика! AH2: AH4 - проверка входа в систему с перерывами

Статистика! AI2: AI4 - проверка выхода из системы с перерывами

=AND(OnCall!U2>=AC2,OnCall!U2<=AD2)
=AND(OnCall!U2>=AC3,OnCall!U2<=AD3)
=AND(OnCall!U2>=AC4,OnCall!U2<=AD4)

// Check if logging back in is within breaks

=AND(OnCall!T2>=AC2,OnCall!T2<=AD2)
=AND(OnCall!T2>=AC3,OnCall!T2<=AD3)
=AND(OnCall!T2>=AC4,OnCall!T2<=AD4)

// Check if Logout is within breaks

Если true / true - установить Adhдо 00: 00: 00

Если true / false - отвести T2 от начала перерыва

Если false / true - отнять U2 от конца перерыва

Если false/ false - = SUM (T2-U2) для приверженности

=IF(AND(AH2 = TRUE,AI2 = TRUE),"00:00:00","00:00:00")
=IF(AND(AH2 = TRUE,AI2 = FALSE),(SUM(Stats!AC2-OnCall!T2)),"00:00:00")
=IF(AND(AH2 = FALSE,AI2 = TRUE),(SUM(Stats!AD2-OnCall!U2)),"00:00:00")
=IF(AND(AH2 = FALSE,AI2 = FALSE),(SUM(OnCall!T2-OnCall!U2)),"00:00:00")

// Checks to see if logout/login is outside of breaks, then takes correct equation.

Проблема заключается в том, что это не будет работать, если выход из системы происходит до перерыва, а вход в систему - после перерыва.Поскольку он охватывает весь период перерыва, он просто выдаст результат "00:00:00"

=OR(AND(OnCall!T2>=AC2,OnCall!T2<=AD2),AND(OnCall!T2>=AC3,OnCall!T2<=AD3),AND(OnCall!T2>=AC4,OnCall!T2<=AD4))

// Проверяет все перерывы

Пример области I 'м работает на

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...