看板 Office 關於我們 聯絡資訊
軟體: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