2017/06/23

EXCEL 字串擷取 分隔符號 資料區隔 資料分割 資料剖析 函數 排序



假設有資料內容是有分隔符號
以下列為例,分隔符號是"-"
A-B
AA-BB
A-BB
AA-BB
1-1
99-99
A-45


若資料是不會再變動的,我們可以利用EXCEL的資料剖析功能
把這些資料利用分隔符號-區分開來就好了


 









  如果不用資料剖析,在OFFICE 2013以後的版本,有個快速填入的功能,你可以事先把資料的第一行按照你要的方式分割,再點選快速填入,就可以把資料拆分了
 

但是如果資料經常在變動

又需擷取裡面的字串出來
那就得用函數來做

這邊需要用到left mid find三個函數


left是從左側擷取字串,

以AA-BB為例,我要擷取AA,公式就是=left(儲存格,2)

2表示我要從左側第一個字開始擷取兩個字元=AA





mid是從中間擷取字串

以AA-BB為例,要擷取BB,公式=mid(儲存格,4,2)

4表示第四的字串(就是B),2表示我要擷取2個字元=BB



但如果今天我的資料會變動成

A-B

A-BB

AA-B

那就沒辦法用直接上面方式來擷取字串

必須找出"-"在字串裡面的順序,才能夠正確的擷取字元

這時就必須使用到find函數

以AA-BB為例,公式=find("-",儲存格,1)


"-"是 我要搜尋的字串

1表示我要從儲存格的第一個字元開始搜尋

但是不管我設定從第幾個字串開始搜尋

回傳的結果都是從左邊第一個字元開始數 =3


現在我們把前面兩個函數加進來看


以AA-BB為例

"-"之前的AA,我們的公式如下

=LEFT(儲存格,FIND("-",儲存格,1)-1)

也就是我只要擷取到"-"的前一個字元就停止

所以把原本的2改成FIND("-",儲存格,1)-1













"-"之後的BB,公式如下

=MID(儲存格,FIND("-",儲存格,1)+1,2)

我要從"-"之後的下一個字串開始擷取,

所以我把原來的3,改成FIND("-",儲存格,1)+1



這樣子就可以利用函數來將有分隔符號的資料區隔開來了

如果有兩個以上的分隔符號

例如2014/7/15 2017/12/7這樣的資料

第一個/不用函數,固定是第五個字
要找第二個/

=find("/",儲存格,6)

這樣就會跳過第一個/去找第二個了

沒有留言:

張貼留言