想在試算表裡追蹤自己關注的台股,或是看美元兌台幣最近的走勢,不用每天開網站複製貼上,GOOGLEFINANCE 可以直接把 Google 財經的資料抓進儲存格。
這個函式可以抓現價、漲跌、52 週高低點,也可以抓指定期間的歷史資料。它是 Google 試算表這邊的函式,資料來源是 Google 財經;Excel 沒有同名函式,要用 Microsoft 365 訂閱版(個人、家用、商務標準或進階)才有的股票資料類型與 STOCKHISTORY 函式做類似的事。
先說清楚:這篇不放任何價格數字,因為價格隨時在變,貼在文章裡幾分鐘就過期了。你把公式貼到自己的試算表,看到的就是當下的資料。文章內容僅是函式用法教學,不構成投資建議。
GOOGLEFINANCE
語法
- 代碼:必填,格式是「交易所:代號」,例如
"NASDAQ:GOOG"。如果只寫代號不寫交易所,Google 會自己挑一個,結果可能不是你要的,所以我都會寫完整。 - 屬性:選填,預設是
"price"(現價)。要抓歷史資料時一定要填。 - 起始日:選填,歷史資料的起點。只給起始日的話,只會回那一天。
- 結束日或天數:選填,填結束日期,或填「起始日之後幾天」的數字。
- 間隔:選填,
"DAILY"(每天)或"WEEKLY"(每週),也可以填 1 或 7,其他數字不行。
官方說明提醒,參數要用雙引號包住,或指向有文字的儲存格;只有間隔和天數這兩個數字不用。
現價
台積電的代號是 2330,交易所前綴寫 TPE:
台積電的現價
=GOOGLEFINANCE("TPE:2330")第二個參數不填就是 "price",所以這條等於 。
美股直接寫交易所加代號,像 "NASDAQ:GOOG"。
我自己的習慣是把代號放在 A 欄,公式用 & 接起來,這樣只要換 A 欄就換股票:
| 代號 |
|---|
| 2330 |
| 2317 |
B2 用 A2 的代號組出完整代碼
=GOOGLEFINANCE("TPE:" & A2)組出來的代碼,A2 是 2330 的時候就是 TPE:2330。這邊要注意,別少了交易所前綴。
常用屬性
"price" 以外,現價這一族的屬性(不用填日期):
| 屬性 | 意思 |
|---|---|
| priceopen | 開盤價 |
| high、low | 當天最高、最低 |
| volume | 當天成交量 |
| closeyest | 前一天收盤價 |
| change、changepct | 比前一天收盤漲跌多少、漲跌百分比 |
| high52、low52 | 52 週最高、最低 |
| marketcap | 市值 |
| pe、eps | 本益比、每股盈餘 |
| tradetime | 最後成交時間 |
| datadelay | 資料延遲多久 |
| currency | 這檔用什麼貨幣計價 |
漲跌百分比
=GOOGLEFINANCE("TPE:2330", "changepct")不是每個代碼每個屬性都有資料,抓不到的時候就是空白或錯誤,這是這個函式有點為人詬病的地方。
資料會延遲,以 datadelay 為準
官方說明寫的是報價最多可能延遲 20 分鐘,而且資料只供參考,不適合拿來下單或當作投資建議。實際上每個市場、每檔股票的延遲不一定一樣,所以到底延遲多久,看 datadelay 這個屬性最準:
這檔資料延遲多久
=GOOGLEFINANCE("TPE:2330", "datadelay")我個人是不會拿它做需要秒級反應的事。看趨勢、記錄收盤、做個人持股表是夠用的。
歷史資料
屬性後面接上起始日和結束日,就變成歷史資料。這時候常用的屬性是 open、close、high、low、volume,以及 all(全部一次回);官方範例也會用 "price" 搭配日期取歷史資料,後面匯率迷你圖就是這種寫法。
2026 年 9 月每天的收盤價
=GOOGLEFINANCE("TPE:2330", "close", DATE(2026,9,1), DATE(2026,9,30), "DAILY")結果會往下展開成兩欄:第一欄日期、第二欄收盤價,最上面一列是表頭。官方說明提到,歷史資料就算只有一天,也是帶表頭的陣列。
| 列 | A | B |
|---|---|---|
| 1 | Date | Close |
| 2 起 | 每個交易日的日期 | 當天收盤價 |
表頭是英文的 Date 和 Close,因為官方說明這個函式只有英文。日期只會出現有開盤的日子,週末與休市日不會有那一列。
最近 30 天的寫法,日期用 TODAY():
最近 30 天的收盤價
=GOOGLEFINANCE("TPE:2330", "close", TODAY()-30, TODAY())結束日也可以改成數字,表示「起始日之後幾天」:
從 2026/9/1 起算 14 天
=GOOGLEFINANCE("TPE:2330", "close", DATE(2026,9,1), 14)有幾個限制要記得,都是官方說明寫的:
- 只要填了日期,整個請求就是歷史模式,要用上面那些歷史屬性(
"price"帶日期也可以)。要抓"marketcap"這類現價屬性,就不能同時填日期。 - 日期是以 UTC 中午當基準,比 UTC 中午早收盤的交易所,日期可能差一天。
- 歷史資料不能用 Sheets API 或 Apps Script 取得,會回
#N/A。
如果想看全部欄位,屬性填 "all":
開高低收量一次抓
=GOOGLEFINANCE("TPE:2330", "all", DATE(2026,9,1), DATE(2026,9,30))表頭是 Date、Open、High、Low、Close、Volume,一共六欄。
匯率
匯率的代碼格式是 CURRENCY: 加上兩個貨幣代碼,美元換台幣是 CURRENCY:USDTWD:
美元兌台幣的匯率
=GOOGLEFINANCE("CURRENCY:USDTWD")這個格式官方的 GOOGLEFINANCE 說明頁沒有寫,是 Google 試算表一直以來的用法。兩個貨幣代碼也可以分開放在儲存格,用 & 接:
| 來源 | 目標 |
|---|---|
| USD | TWD |
A2 是來源貨幣、B2 是目標貨幣
=GOOGLEFINANCE("CURRENCY:" & A2 & B2)組出來是 CURRENCY:USDTWD。換成 JPY、EUR 等其他貨幣,改儲存格就好。
匯率也可以抓歷史。官方說明有一頁範例是「最近 30 天匯率走勢的迷你圖」,我把類似的寫法放在這邊,配合 SPARKLINE 一起用,細節在 SPARKLINE 迷你圖:
美元兌台幣最近 30 天的迷你折線圖
=SPARKLINE(
INDEX(GOOGLEFINANCE("CURRENCY:USDTWD", "price", TODAY()-30, TODAY()), 0, 2)
)INDEX(..., 0, 2) 是取出結果的第 2 欄(價格那欄)整欄,丟掉日期欄,迷你圖才看得懂。
抓不到的時候
- 回
#N/A或空白:先確認代碼,交易所前綴對不對。上櫃股票的前綴我不確定要寫什麼,找不到資料時建議到 Google 財經網站搜尋該檔,網址裡會看到正確的「交易所:代號」。 - 官方說明只說支援有限度的國際交易所,且不支援共同基金的屬性。所以有些交易所的代碼抓不到並不意外,如果你要追蹤的標的抓不到,就得換資料來源。
- 來源暫時連不上的時候,公式可能先顯示載入中或錯誤。重要的數字,抓到後可以用 Ctrl + Shift + V(Mac:Cmd + Shift + V,在 Chrome)貼成值存起來。
練習
52 週高點
A2 是台股代號(例如 2330)。請在 B2 寫公式,抓這檔的 52 週最高價。
換不同代號試試看,抓得到的、抓不到的都會遇到,也算是熟悉這個函式的脾氣。
我是喜特先生,Mr. Sheet,我們下個教學見!
接下來可以
相關文章
查看所有文章Google 試算表常用進階函式導覽:QUERY、IMPORTRANGE、GOOGLEFINANCE、SPARKLINE 怎麼選,Excel 有沒有
從 Excel 轉到 Google 試算表,哪些函式要先學、Excel 又有沒有對應?依「解決什麼問題」分組介紹 QUERY、IMPORTRANGE、IMPORTHTML、IMPORTXML、ARRAYFORMULA、SPLIT、REGEX 系列、GOOGLEFINANCE、GOOGLETRANSLATE、DETECTLANGUAGE、IMAGE、SPARKLINE、AI,每個附語法、Excel 對照表與詳細教學連結。
SPARKLINE 迷你圖:在一格裡畫折線、長條與勝敗圖
用茶飲每週銷量示範 SPARKLINE 的四種圖表類型(line、column、winloss、bar),整理 charttype 與常用選項、把選項放在儲存格的寫法,以及用 REPT 湊長條的做法,另附極值著色、狀態進度與最新兩期變色練習。
網頁資料匯入函式:IMPORTHTML、IMPORTDATA、IMPORTFEED
IMPORTHTML 抓網頁表格與清單、IMPORTDATA 讀 CSV 網址、IMPORTFEED 讀 RSS 訂閱,逐一整理語法、範例、更新頻率、限制與常見錯誤,並說明什麼時候該改用 IMPORTXML。
留言討論
共 0 則留言
