[算表] 有條件地判斷時間加總並給予編號

看板Office作者 (狼狽比失去難受)時間14年前 (2012/07/04 17:39), 編輯推噓2(208)
留言10則, 2人參與, 最新討論串1/1
軟體:excel 2010 有一批資料是使用者的瀏覽紀錄,想要以十分鐘來區隔紀錄 (即使是同一個使用者,瀏覽超過十分鐘也要當成不同使用者) 原始欄位已依序照IP、時間排序過,如下 時間 IP OS 瀏覽網址 4:25:53 140.112.1.1 W A 4:26:57 140.112.1.1 W B 4:35:57 140.112.1.1 W C 4:35:09 140.112.2.2 L D 4:35:39 140.112.2.2 L E 要區別使用者的條件依序是 1.IP相同 =if(B3=B2) 2.OS相同 =if(B3=B2,if(C3=C2)) 3.此段時間加總<10分鐘 這步我卡住了,我已經用second(A3-A2)來求出user從上個步驟到這個步驟的時間 但是我想要從他第一個請求的網址開始加總,還未滿10分鐘就繼續加下去,當超過 10分鐘時即停止,來構成他這段session 也就是說,例子裡雖然前三筆紀錄的IP和OS都一樣,但是由於第三筆紀錄距離第一筆紀錄 已超過十分鐘,所以我要將它當成不同使用者,而output只需要加上一欄user id,如下 時間 IP OS 瀏覽網址 user id 4:25:53 140.112.1.1 W A 1 4:26:57 140.112.1.1 W B 1 4:35:57 140.112.1.1 W C 2 4:35:09 140.112.2.2 L D 3 4:35:39 140.112.2.2 L E 3 只要有這樣的資料就可以了,請問有甚麼函數能解決我的問題嗎? 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.24.43

07/05 10:52, , 1F
試試看是否您要的 http://ppt.cc/9EAU 用巨集執行
07/05 10:52, 1F

07/05 23:59, , 2F
E2=1
07/05 23:59, 2F

07/06 00:00, , 3F
E3=IF((B2=B3)*(C2=C3)*(--(TEXT(A3-A2,"[m]"))<=10),
07/06 00:00, 3F

07/06 00:00, , 4F
E2,E2+1)
07/06 00:00, 4F

07/06 00:01, , 5F
E3往下copy即可, 不過你的數據A3,A4只差9分鐘喔
07/06 00:01, 5F

07/06 00:11, , 6F
好像看錯題目了上面的E改成下面的
07/06 00:11, 6F

07/06 00:12, , 7F
E3=IF((B3=B2)*(C3=C2)*(--TEXT(A3-INDEX($A$2:$A$10,
07/06 00:12, 7F

07/06 00:12, , 8F
MATCH(B2&C2,$B$2:$B$10&$C$2:$C$10,0)),"[s]")<600
07/06 00:12, 8F

07/06 00:13, , 9F
),E2,E2+1)
07/06 00:13, 9F

07/06 00:13, , 10F
輸入完按 Ctrl+Shift+Enter結束
07/06 00:13, 10F
文章代碼(AID): #1Fz0zjUk (Office)
文章代碼(AID): #1Fz0zjUk (Office)