今天相信有在使用 Google Sheets 用作整理投資組合的朋友,都會發現 Google Sheets 內置的 GoogleFinance 功能未能正常顯示股票資料,因此我在此提供兩個急救方法給大家獲取股價資料。
直接存取 Google Finance 資料
此方法則為直接要求 Google Sheets 讀取 Google Finance 網頁上的資料,而並非使用傳統內置 GoogleFinance 功能。
以 Tesla 為例子,以往要輸入以下函數
=GoogleFinance(TSLA,"price")
但由於內置的 GoogleFinance 功能有問題,因此我們現在選擇使用 Importxml 功能。
首先,到 Google Finance 搜尋你希望更新的股票。以 Tesla 為例,網址最後是 TSLA:NASDAQ ,複製此文字。
然後回到 Google Sheets,請按左下方 + 號 新增一個工作表,在新的工作表中其中一個空格,輸入以下代碼
=IMPORTXML("https://www.google.com/finance/quote/TSLA:NASDAQ","//div[@class='YMlKec fxKbKc']")
- TSLA:NASDAQ 只是例子,需要更換你股票的格式,如: NNOX:NASDAQ 或 PG:NYSE
表格則會出現兩個數字,上方為股價,下方為盤前/盤後價。
這就能暫時解決現存未能得到股價的問題。透過此方法獲取的股價似乎不會自動更新 (或需要極長時間才更新) ,因此我實測過只要把函數代碼複製 -> 刪除 -> 再貼上,就能強制 Google Sheets 更新。
使用 Yahoo Finance 資料
參閱此 Reddit 討論,當中有人提出使用 Yahoo Finance 的方法去讀取數據。
首先,到以下網址安裝 Google Sheets 插件
https://gsuite.google.com/marketplace/app/webdatahub_import_api_data/881284038348
然後,回到試算表,選擇 外掛程式 – WebDataHub import API data – Show Sidebar,則可啟用 Yahoo Finance 功能。
*如果未能找到此外掛程式,請先選擇「管理外掛程式」啟用。
然後,如同正常使用 GoogleFinance 功能一樣,輸入 YahooFinance 函數。
正常 GoogleFinance 函數
=GoogleFinance(TSLA,"price")
YahooFinance 函數
=YAHOOFINANCE("TSLA","price")
暫時我測試過後,Google Sheets 能夠讀取 Yahoo Finance 資料,但由於未開市的關係,未肯定相關資料會否自動更新,仍有待觀察。
因為此文希望幫大家急救 Google Sheets 的問題,可能會有些混亂及麻煩,但此方法應該是暫時最有效的方法。如有任何問題,歡迎留言或到群組發問,同時亦希望 Google Sheets 及早修復錯誤。