Excel如何取得股票代碼清單 - 股票

Megan avatar
By Megan
at 2018-06-17T09:55

Table of Contents


Excel如何取得股票代碼清單

網誌圖文版:

http://www.b88104069.com/archives/4315

上一節成功取得單一公司三個年度的損益表,實務上,無論出於產業財務報表分析、或者
是投資者比較各檔股票基本面,會針對多檔股票的損益表作比較,因此有需要同時取得多
家公司的損益表資料。在這裡有個先決條件,網址上皆是股票代碼,如果要以公司名稱對
應到股票代碼,有必要先取得對照清單,在這一節便介紹如何運用網頁資料,整理出符合
需要的清單。

一、於「公開資訊觀測站」選擇「彙總報表」、「資訊揭露」、「每月營收」、「採用
IFRSs後營業收入彙總表」、「每月營業收入彙總表」:
http://mops.twse.com.tw/mops/web/index

二、接著是「國內上市」、年度「107」、月份「1」、「查詢」,再按下面的「請選點選
這裡」。

三、另跳視窗的網址:「http://mops.twse.com.tw/nas/t21/sii/t21sc03_107_1_0.html
」,利用Excel下載網頁資料,幾乎如實呈現了網頁的內容。不過仍然尚有兩點事項待處
理,第一項是有很多營收相關的欄位,但其實於此只需要前面兩欄「公司代碼」及「公司
名稱」,另外除了有公司代碼的資料行,有許多文字行和空白行,其實也不需要。

四、為順利產生公司代碼清單,首先輸寫如下程式碼,重點在於瞭解「
UsedRange.Rows.Count」和「TypeName」的用法。

R = Worksheets("三").UsedRange.Rows.Count

Sheets("五").Cells(1, 3).Value = R

從程式碼的英文單字顧名思義,這是計算工作表「三」內容範圍有多少行的固定語句,並
且要在工作表「五」的第一行第三欄呈現所計算出來的「R」值。

StockID = Worksheets("三").Cells(i, 1).Value

Sheets("五").Cells(i, 1).Value = TypeName(StockID)

將工作表「三」儲存格(i, 1)的值設定為變數「StockID」,然後再將該變數的資料型態
輸入到工作表「五」儲存格Cells(i, 1)。

五、前二十行資料,共有三種型態,「String」為文字 、「Empty」空白 、「Double」
為數字,「C1」儲存格的「1020」代表步驟三所下載的網頁內容共有1020行,稍微垂直捲
動這些資料,不難發現第一欄(A欄)的後面1020行中,和前面二十行資料相同,其實總
共就三種型態,而且公司代碼所屬行都是「Double」,分析出這個規律之後,接下來才能
做相對應的處理。

六、在步驟四的基礎上,進一步編寫程式碼,重點在加入資料型態的判斷句,並且將符合
的資料複製到新工作表上。

R = Worksheets("三").UsedRange.Rows.Count

For i = 1 To R

在第四章第五節「多餘資料刪除」中,介紹過「For i = 1048576 To 2 Step -1」的終極
用法,它雖然能完整掃過工作表,但其實在大部份資料沒有那麼多行的情況,這樣的設計
只是執行空轉,白白耗費了計算機資料,所以利用「UsedRange.Rows.Count」先自動評估
有多少行資料,再設計「For i = 1 To R」精準迴圈是較為聰明的作法。

StockID = Worksheets("三").Cells(i, 1).Value

If TypeName(StockID) = "Double" Then

j = j + 1

Sheets("三").Cells(i, 1).Copy Sheets("七").Cells(j, 1)

Sheets("三").Cells(i, 2).Copy Sheets("七").Cells(j, 2)

End If

先取得工作表「三」第一欄 (A欄)的內容,賦值予變數「StockID」,判斷其資料型態是
否為數字「Double」,如果是的話,設置變數「j = j + 1」,等於是一個從1開始正整數
的計數器,這是編寫程式的慣常用法,最後將工作表「三」符合條件的特定行,第一欄公
司代碼和第二欄公司名稱複製到工作表「七」的第一欄第二欄,依照正整數「j」的順序


七、執行結果一如預期!

在資料量鉅大的情況下,都會有像編碼原則和代碼對照表這一類的東西。一方面是需要將
資料分門別類,才能有序整理及快速搜尋,另一方面現在所有資料都會以電子形式儲存,
所以要有個合乎電子格式的識別代碼。很多時候,我們很需要一份完整清單,方便針對資
料作進一步處理,可是又沒辦直接取得這份清單,這一節所介紹的方法也許不盡完美,但
應該極具參考價值。


本文內容取自《人人做得到的網路資料整理術》,博客來書店網址:
http://www.books.com.tw/products/0010775391


延伸閱讀:

Excel如何取得公開發行公司財務報表

http://www.b88104069.com/archives/4312

Excel如何取得多期損益報表

http://www.b88104069.com/archives/4313

VBA如何修改網址下載財務報表

http://www.b88104069.com/archives/4144

--


周末,我們繼續Excel:精華區=>21.心得=>5.其他=>3.office

會計人的Excel小教室: https://www.facebook.com/acctexcel


--
Tags: 股票

All Comments

Gary avatar
By Gary
at 2018-06-20T02:25
好用心,好多功能沒月過
Ursula avatar
By Ursula
at 2018-06-20T21:20
Suhail Hany avatar
By Suhail Hany
at 2018-06-23T15:53
用心推一個!
Elma avatar
By Elma
at 2018-06-25T16:59
先推再說
Hedda avatar
By Hedda
at 2018-06-29T17:31
用心給推
Daph Bay avatar
By Daph Bay
at 2018-07-02T08:37
Regina avatar
By Regina
at 2018-07-04T07:03
Emma avatar
By Emma
at 2018-07-09T01:42
Bethany avatar
By Bethany
at 2018-07-11T01:56
感謝分享
Linda avatar
By Linda
at 2018-07-11T03:13
Mia avatar
By Mia
at 2018-07-12T07:28
Noah avatar
By Noah
at 2018-07-12T12:42
推 改天研究
Gilbert avatar
By Gilbert
at 2018-07-17T10:48
Heather avatar
By Heather
at 2018-07-18T02:06
usedrange.rows.count好像對於前面有空白行的頁面不
George avatar
By George
at 2018-07-21T05:32
能得到想要的結果吧…… 要從頭到尾無遺漏我覺得可
Frederic avatar
By Frederic
at 2018-07-22T21:07
Callum avatar
By Callum
at 2018-07-25T19:18
Adele avatar
By Adele
at 2018-07-25T22:33
用activesheet.usedrange.rows.count + activesheet
.usedrange.row-1
Odelette avatar
By Odelette
at 2018-07-27T02:22
推 感謝分享
Emily avatar
By Emily
at 2018-07-30T14:38
Joseph avatar
By Joseph
at 2018-07-30T15:43
Yuri avatar
By Yuri
at 2018-08-02T21:26
Agnes avatar
By Agnes
at 2018-08-03T14:30
Agnes avatar
By Agnes
at 2018-08-04T15:23
推用心
Christine avatar
By Christine
at 2018-08-06T16:57
這個不推不行
Connor avatar
By Connor
at 2018-08-11T09:40
Enid avatar
By Enid
at 2018-08-12T04:46
推認真分享文
Una avatar
By Una
at 2018-08-13T11:27
Jacky avatar
By Jacky
at 2018-08-17T00:07
Rae avatar
By Rae
at 2018-08-20T11:59
Tristan Cohan avatar
By Tristan Cohan
at 2018-08-23T09:55
用心 推
Hamiltion avatar
By Hamiltion
at 2018-08-26T16:32
Eartha avatar
By Eartha
at 2018-08-26T23:43
Lucy avatar
By Lucy
at 2018-08-28T16:49
推 很認真
Agnes avatar
By Agnes
at 2018-08-31T01:51

興櫃5月營收新高及次高整理

Lucy avatar
By Lucy
at 2018-06-17T08:34
興櫃5月營收新高及次高整理: 興櫃風險高,當轉上市或轉上櫃前, 總會有一波高漲力道, 公司也不希望剛開張就跌。 興櫃特性: 1.無漲跌幅限制 2.交易時間09:00~15:00 3.前交易日參考價以日均價為主 4.財報指標落後公布 新高: 代號 名稱 成交 類股 6682 碩鑽材 ...

美中互嗆祭關稅 道瓊指數盤初重挫近200點

Edwina avatar
By Edwina
at 2018-06-17T08:15
這篇是回之前討論的推文。 我覺得要玩股票期貨的人最好平時多作點經濟學的功課,不要只會看新聞而已,連美國 國債是幹嘛的有什麼意義都不曉得。 美國國債是美政府用來籌措政府預算還有調節金融市場的工具,簡單的說就是借錢。而 國債有很多種類主要差別在於到期日,短的有兩年期(以週為單位的不計),長的有三 十年期,國 ...

宏達電為何兩年內從1300崩盤至2XX點?

Daniel avatar
By Daniel
at 2018-06-17T01:36
HTC崩壞扯到王雪紅喊92共識根本是牽拖 HTC當時Hero/HD2/Desire還打得三星抬不起頭來 因為當時安卓系統優化很差 使用起來各種不順 HTC Sense當時就是把安卓優化的比別家好才闖下一片天 但成功以後呢? 就開始各種腦包決策 總結就是各種機海戰+產品線混亂 旗艦機策略 ...

中鋼轉爐石 道路鋪面優點多

Eden avatar
By Eden
at 2018-06-17T01:16
※ 引述《aloness (aloness)》之銘言: : 推 chiefoflaw : https://i.imgur.com/mgifoaZ.jpg 06/16 23:59 : → chiefoflaw : https://i.imgur.com/HilZXms.j ...

美中互嗆祭關稅 道瓊指數盤初重挫近200點

Genevieve avatar
By Genevieve
at 2018-06-17T00:57
: 是這樣看的嗎? 看了一下美國初期對中國課稅的項目, 台灣不就有中獎了? 像是 : 被動元件, LED, 面板相關產業, Power 相關, 以及記憶體產業. 這些在中國沒有設廠? ? : 你去和川普說我們是台灣,不是中國,然後他就不課稅了? 有可能? 更別說很多產業是 : 台灣提供零組件或組裝給大 ...