2016-08-24

〔EXCEL〕Find/Mid-用函數取出指定規則的字串~手動"資料剖析"變形版


當你有一大"篇"一連"串"的資料,想要將其依一定的原則切割成不同的欄位
在Excel中有個很好用的功能--『資料剖析』
可以很輕易的協助您分割資料
(怎麼做不是這篇的重點,在此就不說明了)

但如果你想切割出的資料,取出某個欄位。但它被切割出來的位置可能有些不同(喔喔>"<)
例如:
A , , B , C
A , B , C
A , B , , C

用『,』來做資料剖析會切出

如果你想取的是B或C的資料…卻發現它不在同一欄中…
或許,你可以改用函數去計算取出你要的字串唷~

以最上方那張圖為例…
如果想取出每列g_後的字串
我們可以找到其規則:
1. 每列只會有1個g_
2. 字串用"g_開頭,而結束於另一個" (也就是說只要取畫面中藍色底的字串)

可依此決定做法
A. 先找到每列g_開頭的位置→→結果寫入J欄(開始位置)
B. 找到g_開頭後"的位置→→結果寫入K欄(結束位置)
C. 這樣你就知道要找的字串是從哪段了吧

講完了思考出的作法…再來就是實做了。

●如何找到"完整字串"中的"指定字串"開始的位置?
=FIND(指定字串, 完整字串, [開始尋找的位置])
例如:
=FIND("CD","ABCDEFGFECDBA") →→3  在ABCDEFGFECDBA,找CD第一個出現的位置
=FIND("CD","ABCDEFGFECDBA",4 ) →→10 在ABCDEFGFECDBA,從第4個字元開始找CD第一個出現的位置

課後練習:
=FIND("CD","ABCDEFGFECDBA",3 ) →→??

●如何取得"完整字串"中指定位置的"字串值"?
=MID(完整字串, 開始位置, 取幾碼)
例如:
=MID("ABCDEFGFECDBA", 3, 2) →→CD 從ABCDEFGFECDBA第3碼開始取2碼字串
=MID("ABCDEFGFECDBA", 3, 4) →→CDEF 從ABCDEFGFECDBA第3碼開始取4碼字串

課後練習:
=MID("ABCDEFGFECDBA", 3, 20) →→??


後記:
其實寫函數、寫程式…並不難。重點在於你想寫什麼…想怎麼寫…先搞清楚後…再動手吧!
5 章老師的電腦小講堂: 〔EXCEL〕Find/Mid-用函數取出指定規則的字串~手動"資料剖析"變形版 當你有一大"篇"一連"串"的資料,想要將其依一定的原則切割成不同的欄位 在Excel中有個很好用的功能-- 『資料剖析』 可以很輕易的協助您分割資料 (怎麼做不是這篇的重點,在此就不說明了) 但如果你想切割出的資料,取出某個...
小講堂經過多次搬移,舊文章連結及內容較難整理~
大家可以新文章為主~
每篇文章後有代碼,任何文章問題可至FB小講堂用代碼提問唷~