Заранее спасибо за любую помощь в этой ситуации.

У меня есть лист Excel, который является необработанными данными из системы часов. Эти данные имеют следующие столбцы:

A: Date/Time of Entry
B: Purpose of Entry (Either Clock IN or Clock OUT)
C: Unique ID of employee clocking in or out

Для всех часов, связанных с уникальным идентификатором, ДОЛЖНЫ быть часы в тот же день для этого уникального идентификатора. Мне нужно извлечь все записи, у которых нет тайм-аутов, связанных с часами на этот день.

2 ответа2

0

Эта формула массива подсчитывает количество OUT для одного и того же сотрудника в один и тот же день для каждого IN. Введите в качестве формулы массива, нажав Ctrl + Shift + Enter.

=IF(B1="IN",SUM(IF(INT(A$1:A$6)=INT(A1),IF(B$1:B$6="OUT",IF(C$1:C$6=C1,1),0),0)),"")

Если вы видите часы с 0, это означает, что в тот же день нет связанных часов.

0

Грубый код

Получить количество строк (называется intROWEND)

for intCOUNTER = 1 to intROWEND - 1 do

  get date for row(intCOUNTER)

  get UNIQUEID for row(intCOUNTER)

  booleanCLOCKEDOUT = False

  for intCOUNTER2 = intCOUNTER + 1 to intROWEND

    if (date(row(intCOUNTER) = date(row(intCOUNTER2)) and (UNIQUEID(intCOUNTER) = (UNIQUEID(intCOUNTER2)) then booleanCLOCKEDOUT = True

  next

  if booleanCLOCKEDOUT = False then output date and UNIQUEID

next

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .