2025/10/23

使用Google Sheets抓上櫃公司股價資料

之前有在Google Sheets裡使用用GOOGLEFINANCE()抓台股上市公司的股價資料,

對整理與了解家裡四個人的股票投資狀況很方便,

可以參考另外一篇:應用Google Sheets建立台股上市股票投資表格

可惜的是GOOGLEFINANCE並不支援台灣上櫃公司股票價格,

在ChatGPT、Perplexity等AI出現後,

曾經試著讓AI產生可以抓取台灣上櫃公司股票價格、變動的方法,

但是多數都失敗,

最近又試了一下Gemini,

給了新的答案,


上櫃公司股票可以用GOOGLEFINANCE()了^_^,

原本台灣上市公司交易所代號用TPE,

台灣上櫃公司交易所代號改用TPEX,

很開心的試了一下,結果不行XD,

Google是在搞笑?

自己的AI搭配自家的Google Sheets竟然還搞錯?


再來用DEEPSEEK試試,

給了幾個方法,

建議用第一個方法:GOOGLEFINANCE(),


但是GOOGLEFINANCE()無法查上櫃公司資料,

我猜應該是訓練人員並不是很了解台灣上市跟上櫃公司的差異,所以即使問題目已經清楚挑明"上櫃",還是給了目前只能查上市公司股票的方法,並且列為主要推薦方法。

第二個方法:


這個方法使用IMPORTXML加Yahoo奇摩網站,

複製貼到Google Sheets中可以成功抓到股價,但是有的還是會失敗,


後續的方法是GOOGLEFINANCE跟IMPORTXML的混合運用,使用儲存格股票代號等等,

但是,沒有股價變動的函式?

再補充強調使用IMPORTXML抓上櫃公司股票價格變動的方法:


分別把函式複製貼上到Google Sheets中,

成功,但會直接丟一份表格,

而且變動值只有數字,沒有分正負號,

看來還是沒那麼容易……

對了一下網站的資料,

價格變動的函式抓到的是網頁的部份表格,

裡面有現價、開盤……


知道欄位定義就方便了,

只要再加上INDEX()抓表格中特定的欄位,

如“成交”跟“昨收”出來就可以算帶漲跌正負號股價變動數字^_^。


現價Z3的函式:
=INDEX(IMPORTXML("https://tw.stock.yahoo.com/quote/00981B", "//span[contains(@class, 'Fw(600)') and contains(@class, 'Fz(16px)')]"),1,1)

=Z3-index(IMPORTXML("https://tw.stock.yahoo.com/quote/"&Z2, "//span[contains(@class, 'Fw(600)') and contains(@class, 'Fz(16px)')]"),7,1)


總算搞定股票投資表格的自動擷取上市與上櫃股價、漲跌變動。


留下作個紀錄,免得老年癡呆忘了自己怎麼作跟改的^_^。


沒有留言:

張貼留言