作者sleepwu (狼狽比失去難受)
看板Office
標題[算表] 有條件地判斷時間加總
時間Wed Jul 4 17:39:55 2012
軟體: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
推 windknife18:E2=1 07/05 23:59
→ windknife18:E3=IF((B2=B3)*(C2=C3)*(--(TEXT(A3-A2,"[m]"))<=10), 07/06 00:00
→ windknife18: E2,E2+1) 07/06 00:00
→ windknife18:E3往下copy即可, 不過你的數據A3,A4只差9分鐘喔 07/06 00:01
推 windknife18:好像看錯題目了上面的E改成下面的 07/06 00:11
→ windknife18:E3=IF((B3=B2)*(C3=C2)*(--TEXT(A3-INDEX($A$2:$A$10, 07/06 00:12
→ windknife18: MATCH(B2&C2,$B$2:$B$10&$C$2:$C$10,0)),"[s]")<600 07/06 00:12
→ windknife18: ),E2,E2+1) 07/06 00:13
→ windknife18:輸入完按 Ctrl+Shift+Enter結束 07/06 00:13