我有一个看起来像这样的表:
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”。
预期结果应如下所示:
关于如何在Excel中完成此操作的任何想法?
谢谢!
答案 0 :(得分:0)
您可以使用select语句来检测当前客户记录所在的行,然后使用索引/匹配项来查找与该客户打交道的第一人,然后使用一个聚合来查找之后的第一行,并进行时间分隔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")
最后一条记录只是在检测客户端ID更改的位置:
=IF(A2=A3,"N/A","Last Record")