看板 Office 關於我們 聯絡資訊
軟體: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
soyoso:試試看是否您要的 http://ppt.cc/9EAU 用巨集執行 07/05 10:52
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