Нужно посчитать, сколько конкретных часов в течение 2 таймфреймов - PullRequest
1 голос
/ 01 октября 2019

Я пытаюсь сделать регистрацию времени для сотрудников. Я создал Google Forms, чтобы сотрудники регистрировали дату и время начала и окончания и дату и время в следующем формате:

Employee X  |  10/6/2019 12:00:00  |  10/6/2019 20:00:00

Это 3 ячейки в Google Sheets.

Работникам необходимо получать зарплату xбольше, когда они работают с 18:00 до 06:00 утра. Поэтому мне нужна формула, которая берет время начала и окончания их смены и подсчитывает, сколько часов смены приходится на период с 18:00 до 06:00, и возвращает количество часов, которые они проработали в этом кадре.

В приведенном выше примере сотрудник X работал с 12:00 до 20:00, 8-часовым общим рабочим днем.

НО формула должна возвращать, сколько из этих часов находится между 18: 00 и 06:00, например. два часа. в своей собственной клетке.

Я перепробовал все виды COUNTIFS, FILTER и другие вещи, но этот не могу решить.

У кого-нибудь есть магическое прикосновение?

1 Ответ

0 голосов
/ 01 октября 2019

это должно охватывать это:

=ARRAYFORMULA(IFERROR(IF(
 (IF(DATEVALUE(C1:C)>DATEVALUE(B1:B), 1, 0)+TIMEVALUE(C1:C)>0.75)*
 (IF(DATEVALUE(C1:C)=DATEVALUE(B1:B), 1, 0)+0.25>TIMEVALUE(C1:C)), 
 TEXT((0.75-TIMEVALUE(C1:C))*-1, "hh:mm:ss"), )))

0


примечание: 0.75 = 18:00: 00 и 0.25 = 6: 00: 00

...