千萬別作為投資理財參考
喜歡攝影的我,喜歡到處拍拍照,吃點當地的特色食物。 跟朋友聊天之餘,推薦我寫成網誌跟大家分享。 沒外出的日子,喜歡在家當隱性宅,寫程式看看書,追劇。 希望我的手札文,不會讓你翻桌 XD
2023年10月29日 星期日
2023年10月28日 星期六
初學者的VBA資料分析 CLASS 3:基本資料分析任務前篇
CLASS 3:基本資料分析任務
本篇,小篇想要以單獨處理資料方式來切入,怎說是單獨處理資料,例如資料中有空白特殊符號、例如日期資料轉換,例如僅單獨要資料中的一部分等等。
本篇可能看了會覺得,疑那我直接用函數就好啦,學這些作啥??.....QQ
所以本篇會以VBA角度使用這些函數(廢話),所以看到這才領悟是用 VBA的你,可以考慮往回看初學者的VBA資料分析CLASS1或是CLASS2,慢慢你就離自動化更近一些了
一、CLASS 3 課程規劃前篇
資料使用前要做一些處理,也可以稱為資料清洗
1.去除空白或符號
2.拆解字串,萃取出自己需要的部分
3.常用資料轉換,例如數字、文字與日期
4.取代特定文字功能
二、講解:
1.去除空白或符號:
打字時,每個人習慣不同,所以常會出現一個情況,例如一樣的名稱資料,怎資料長度不同的情況發生,通常就是空白或是換行符號惹的禍。
excel內建去除空白的函數 TRIM 就很好用拉,怎用??
ex:有一串文字長這樣"12A12 ",明顯有一個空白。
透過 temp=trim("12A12 "),則temp變數內則存放了去除空白後的字串資料 "12A12"
還有Ltrim跟Rtrim可以參考MSDN教學。
怎去除符號,也可以透過REPLACE 函數。
去除空白:
temp=REPLACE("12A12 "," ","") , "12A12"
去除符號:
temp=REPLACE("12A12 ","A","") , "1212 "
temp=REPLACE("12@12 ","@","") , "1212"
2.拆解字串,萃取出自己需要的部分
一般常見的函數,如LEFT、MID與RIGHT,小編加碼SPLIT
講解:
ex:現有一串文字長這樣"12A24",要取出12跟24怎做?
A=RIGHT("12A24",2),右邊取2個字元
A=LEFT("12A24",2),左邊取2個字元
A=MID("12A24",1,2),從右邊第一位取2個字元
A=MID("12A24",4,2),從右邊第四位取2個字元
加碼:
SPLIT,是字串分割函數,轉換後會變為陣列方式做資料儲存
A=SPLIT("12A24","A"),使用A字串做分割,A變數會變為A陣列,A(0)=12,A(1)=24,這時候是否有問題了,啥是陣列?有機會在聊聊。
3.常用資料轉換,例如數字、文字與日期
講解:
ex:現有一串文字長這樣"1224"。
文字資料如何轉換成數值資料,透過VAL()函數
語法VAL("1224"),文字資料就變成數值資料了
數值怎轉換成文字呢?,透過STR()函數
語法STR(1234),數值資料就變成文字資料"1234"了
P.S 前後加上雙引號,就是文字資料的表示方式
日期該怎處理?
常見日期格式2023/10/18、2012/1/1、20130101
不管是那種格式,強烈建議資料清洗一定要使用同一種格式,同一種格式歐
ex:現在要把20130101轉換為2023/01/01該怎做?
ex:現在要把2013/1/1轉換為2023/01/01該怎做?小編透過LEFT、RIGHT、MID函數來轉換一下
A=LEFT("20130101",4) & "/" & FORMAT(MID("20130101",5,2),"00") & "/" & FORMAT(RIGHT("20130101",2),"00")
A=SPLIT("2013/1/1","/")
A=FORMAT(A(0),"0000") & "/" & FORMAT(A(1),"00") & "/" & FORMAT(A(2),"00")
如果要轉換為民國年呢? 簡單,就是在年減去1911
A=FORMAT(A(0),"0000")-1911 & "/" & FORMAT(A(1),"00") & "/" & FORMAT(A(2),"00")
反之如果要變成20130101這樣的格式呢?
A=SPLIT("2013/1/1","/")
對,拿掉"/"變成""即可
A=FORMAT(A(0),"0000") & "" & FORMAT(A(1),"00") & "" & FORMAT(A(2),"00")
4.取代特定文字功能
ex:現有一串數值資料長這樣"12@24@36@"。
第一可以透過類似去除符號的方式,以replace函數取代。
亦可以透過split方式做拆解後,在合併。
WISH 9年開4萬
前幾天聽同事說,把滿9歲的神車WISH 賣掉,透過社團賣了40多萬。
仔細聽他說,原來車才開4萬多公里,然後就換了最新的YARIS CROSS
我心想,這樣.................................不如租車
回顧一下,他車是買當年的頂級WIH,有循跡系統歐。
以TOYOTA來說,這確實是很頂
可能很多人看到這會跟我一開始想的一樣,真的不如租車
因為這9年養這台車的稅金費用+折舊=買這台了
一年10萬租車,真的很好租
但小編現在再想想,在自己能力有餘之際,好好愛家人,好好愛自己
當作對自己好的一種方式也不錯
錢就別太計較了
接下來等同事牽新車了 OH YEAH.
周指數變化(2023.10.27)
2023年10月24日 星期二
office 還是新的比較好 (CHARTOBJECT 物件給我出現-2147024809 )
2023年10月23日 星期一
THIS IS A RACE.THIS IS MARKET.THIS IS BLOCK LEAD.
自己整理給自己勘,別做為理財投資參考
上週中國端出墨家方案,以抵抗美國晶片法案,
早上查了跟中國石墨相關的新聞,也看到這篇
順手也整理了一點點資料,然後就開盤了
指數變化(2024.12.06)
指數變化(2024.12.06) 上周焦點: 密西根消費者信心指數 74,又破70了 本周愛看: 美國蠆售銷售月增率 12/09 美國核心CPI年增率 12/11 美國連續申請失業救濟人數 12/12 本周指數變化: 指數...
-
寫給自己速查 垂直屬性:HorizontalAlignment 水平屬性:VerticalAlignment 置中:xlCenter 靠左靠右:XLLEFT、XLRIGHT Sheets("工作表1").Range("m2").Ve...
-
美國實質可支配所得 利率與黃金 消費者信心 利率PK DW PK FED紐約分行 上海貨櫃指數 BDI CRB 美國m 1 m2 s&p 美國 非農 美國 非農就業職務空缺率 美國股市 行事曆 全球股市行事曆 全球股市 巴菲特指數 外銷訂單年增率 每月20號 外...
-
整理資料時,不免要判斷資料數量,在判斷資料時,資料有時會有不連續與連續資料,這時候判斷方式不盡相同 連續資料時: a行於65000儲存格以前的最後列,有點饒舌;應該是這樣看,從a65000往上找(xlup),找到的第一個儲存格,也相對於是a行在65000列之前最後一列。 END...