[Google Sheets 實戰] 徹底解決報價 Loading 卡死與 #ERROR!:用 Apps Script 打造超穩定的台股記帳表 (包含上櫃 主動ETF)
如果你跟我一樣是個「股價紀錄控」,一定經歷過這樣的崩潰瞬間:打開 Google Sheets 想看今天的損益,結果整排儲存格顯示 Loading... 甚至是 #ERROR!,不管怎麼重新整理都沒用。
這篇文章將分享我從 Excel 到 Google Sheets 的「踩坑進化史」,並提供目前測試最穩定、能通吃上市與上櫃股票的最終解決方案。
為什麼原本的方法行不通?我的試錯歷程
在找到最佳解之前,我嘗試過幾種主流做法,但都有明顯的缺陷:
1. 傳統 Excel 紀錄
缺點:無法自動更新,每次都要手動輸入收盤價,對於想即時掌握現值的投資人來說效率太低。
2. 內建 Google Finance 函數
優點:語法簡單,速度快。
致命傷:對台股支援度不完整。雖然可以抓到大部分上市公司,但上櫃股票(OTC)完全抓不到,導致資產配置缺了一角。
3. 使用 IMPORTXML 抓取網頁資訊
原理:利用爬蟲語法直接去財經網站抓股價。
問題:這是我卡關最久的地方。雖然剛設定好時很完美,但當你的觀察清單變多(例如一次抓 20 檔),Google 會在一瞬間發出太多請求,導致被目標網站視為惡意攻擊(DDoS)或觸發反爬蟲機制。
結果:運氣好時顯示正常,運氣不好時就是整片紅色的 Error,穩定性極差。
最終解決方案:Google Apps Script (GAS) + 快取機制
為了徹底解決上述問題,我改用 Google Apps Script (GAS) 撰寫自定義函數。
這個方法的強大之處在於它可以利用 「快取(Cache)」 技術。簡單來說,當程式抓到股價後,會暫存一段時間,避免在短時間內重複向網站發出請求。這不僅大幅降低了失敗率,也讓試算表的運作更流暢。
🚀 3分鐘設定教學
不需要懂程式碼,只要跟著做複製貼上即可:
Step 1. 開啟程式碼編輯器
在你的 Google Sheet 報價表上方選單,點選 「擴充功能」 (Extensions) > 「Apps Script」。
Step 2. 貼上腳本
將編輯器原本的內容清空,貼上我寫好的程式碼。
把程式碼貼上

留言
張貼留言