2020年12月8日 星期二

VBA:資料拆解少不了的SPLIT 函數

這算是滿常用到的函數,做簡單分享:

 SPLIT,資料分割教學:

一、兩個小例子:

日期:109/12/08,透過B2=SPLIT("109/12/08","/"),分割出來的陣列長這樣。

圖1.

關鍵字:DATA:2020/12/08,透過B3=SPLIT("DATA:2020/12/08","DATA:"),分割出來的陣列長這樣

圖2.
分割完出來的資料就可以重新"再加工"做任何編輯了,例如B2(0)為存放年的資料,加上1911就等於西元年了,諸如此類的資料整理。

二、延伸:

若要避免錯誤的用法可以參考組合INSTR函數
例如 :B2="1091208"
IF INSTR(B2,"/")>0 THNE
        B2=SPLIT(B2,"/")
END IF

WHY?WHY?WHY?
因為分割資料時,當未含有指定分割字元時,以B2=SPLIT("1091208","/")與B3=SPLIT("2020/12/08","DATA:")為例則變成這樣:
圖3.
三、再延伸一下:VBA 營收資料分析(二)
當中有一行是處理WEB的回傳結果。
     webdata = Split(web.responseText, vbLf)
分割前,透過即時運算視窗大概是這樣內容:
    
圖4.
分割後,如圖5.在區域變數視窗中,以陣列方式呈現,就可以做很多有趣的處理。

圖5.
以上簡單分享與參考。







沒有留言:

張貼留言

職場毒癌:你憑什麼以為你十年寒窗,抵得我三代從商

你憑什麼以為你十年寒窗,抵得我三代從商——這句話已經記不得是從哪裡看到的,可能是某部劇,也可能是某篇 FB 文章標題。 但最近,特別有感。 為什麼會有這種感觸? 職場上有個同事,一路慢慢升到課長,好歹也是管理職,雖說不上鐵飯碗,但在多數人眼裡也算穩定。 結果呢?輾轉換了兩個製造課...