作者yjw691 (歪弟)
看板Office
標題[算表] 擷取推文ID
時間Thu Aug 25 21:13:22 2011
軟體:EXCEL
版本:全適用
本篇算是技巧的活用,當因為某些需要(如問卷、辦活動..等),需要將推文的ID
資料全數抓下來時,那要怎麼做呢?
在這邊我們需要用到的函數是 MID 以及 SEARCH
前者可以幫我們擷取一個字串中,在指定範圍的字串。
後者則是可以幫我們找到字串中,指定文字的所在位置。
接下來就用範例實作
推 shihchingyan: A菜啊A菜=( ̄﹏ ̄)= 01/02 23:41
推 xdanielzero: 大陸妹阿大陸妹ω=(X﹏X)=ω 01/02 23:49
推 OPAlupa: 海帶呀海帶~( ̄▽ ̄)~ 01/02 23:50
推 eastkudou: 正露丸啊正露丸㊣( ̄▽ ̄)㊣ 01/02 23:51
推 ohyesyour: 期末考阿期末考~(T︿T)~ 01/02 23:59
首先我們要知道,推文的格式如下:
1. 推/噓/箭頭 占2個字元
2. 留一格空白
3. ID (有長有短)
4. 一個冒號 :
5. 推文內容
(如有IP 會在這個地方穿插)
6. 兩個空格
7. 日期
8. 一個空格
9. 時間
而我們要的部分就是上述的第三項
在第三項之前的長度都是固定的,所以我們能知道ID前面固定會有3個字元
但是ID有長有短,每個ID又不一樣,我們怎麼知道ID到底有多長,要擷取多少長度
所幸後面有一個冒號 :
這可以拿來當作搜尋的指標
所以只要找到 ":" 就代表ID已經結束了
所以綜合以上,函數的設計方向是:
1.用MID和從左數起第三個字元抓到ID的頭
2.用SEARCH函數抓到":"的位置
3.利用SEARCH的位置當作擷取文字的長度,就可以抓出ID了!
這邊要注意的是,在使用SEARCH時,文字的位置是從最左邊算起
所以也會把推/噓/→ 以及一個空格都算進去,所以在引用到MID時,記得把它扣除,
才不會多抓到三個字元的文字
最後根據這個方向,我們可以設計出我們要的函數:
=MID(A1,3,SEARCH(":",A1)-3)
這樣子系統就會自動幫忙抓ID,而範例就會變成
shihchingyan
xdanielzero
OPAlupa
eastkudou
ohyesyour
達到我們要的要求。
延伸:
1.如果遇到":"位置固定的情況(推文長度固定),則使用 TRIM幫我們去掉轉換後的空白
2.利用同樣方向,也可以擷取推文內容,但是內容變化多,應謹慎設計
3.擷取時間比較簡單,用RIGHT函數就可以了,但是擷取IP就比較不容易。
4.如果只想抓取"推",可用IF來限制;同理可應用至"噓"或"→",亦可只抓取其中兩項。
大概是這樣,希望大家會喜歡!
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.39.181.247
推 Rplus:記得以前有個網站的功能可以抓 XD 08/26 00:00
推 qmi:酷! 感謝分享 08/26 08:41
※ 編輯: yjw691 來自: 114.39.156.230 (08/26 18:50)
推 doggob:做兩次資料剖析會不會比較快..一次對":",一次對空格 08/27 15:42
推 plsear:超實用 謝謝 12/20 01:34