Как выделить первую запись между временными интервалами в Excel? - PullRequest
0 голосов
/ 21 мая 2019

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

ClientID    Name    Date
1           John    5/1/19 12:00 AM
1           Andrew  5/1/19 12:16 AM
1           Robert  5/1/19 12:40 AM
2           Alex    5/2/19 12:27 AM
2           Mary    5/2/19 12:57 AM
2           Jane    5/2/19 1:20 AM

Я пытаюсь привести «Имя» человека, который говорил с клиентом в соответствии с ClientID (должен совпадать), дату(в тот же день и игнорировать записи с интервалом в 15 минут от первого в этот день), чтобы определить, кто был первым, кто разговаривал с этим клиентом, и для следующих записей показать предыдущего человека, чтобы определить, кто сгенерировалВернись.

Кроме того, последняя запись для этого ClientID должна быть помечена как «Last_record».

Ожидаемый результат должен выглядеть следующим образом:

expected result

Есть идеи, как это сделать в Excel?

Спасибо!

1 Ответ

0 голосов
/ 23 мая 2019

Вы можете использовать оператор выбора, чтобы определить, в какой строке текущей записи клиента вы находитесь, затем индекс / совпадение, чтобы найти первого человека, имеющего дело с клиентом, и агрегат, чтобы найти первую строку после этого с разделением времени от 15 минут и более:

=IFERROR(CHOOSE(COUNTIF(A$2:A2,A2),"First Record",
INDEX(B$2:B$11,MATCH(A2,A$2:A$11,0)),
INDEX(B$2:B$11,AGGREGATE(15,6,(ROW(A$2:A$11)-ROW(A$2)+1)/(C$2:C$11>INDEX(C$2:C$11,MATCH(A2,A$2:A$11,0))+TIME(0,15,0)),1))),
"N/A")

Последняя запись просто определяет, где меняется идентификатор клиента:

=IF(A2=A3,"N/A","Last Record")

enter image description here

...