試算表自動抓取股價資料,就用【GoogleFinance函數】來搞定!

Last Updated on 2021 年 9 月 18 日 by 小幫手

How to use GOOGLEFINANCE function in Google sheets 封面圖片

很多人都會用Google試算表來記錄工作中的事務,同時可能會搭配很多函數來管理,但你知道試算表有一個函數是專門抓取財經資訊的嗎?那就是GOOGLEFINANCE函數!只要使用這個函數,就可以在試算表內自動抓取世界各地的股票資訊!

GOOGLEFINANCE函數介紹

官方說明:從Google財經服務擷取有價證券的最新或過往資訊。

官方中文與英文版的語法如下:

中文版=GOOGLEFINANCE(代號,[屬性],[開始日期],[結束日期|天數],[間隔])
英文版=GOOGLEFINANCE(ticker,[attribute],[start_date],[end_date|num_days],[interval])
GOOGLEFINANCE函數介紹

所以從官方說明跟語法來看,這就是Google試算表專門用來抓取「Google財經」有價證券資訊的函數。雖然函數裡面可以用的引數多達5個,而且「屬性」可以設定的項目也不少,但或許並不會用到那麼多,主要看你想用這個函數來做什麼。


免責聲明

一旦在試算表裡面使用「GOOGLEFINANCE」這個函數之後,工作表下面就會出現一條「免責聲明」的訊息,提醒你說報價不會像專業看盤軟體那樣即時,使用的時候要特別注意:

提供的報價並非來自所有市場的即時報價(最長可能延遲20分鐘)。所提供資訊均以現狀提供,僅供參考,不宜做為買賣依據或諮詢之用。免責聲明
GOOGLEFINANCE函數的免責聲明:
提供的報價並非來自所有市場的即時報價(最長可能延遲20分鐘)。所提供資訊均以現狀提供,僅供參考,不宜做為買賣依據或諮詢之用。


輸入代號時需要注意什麼?

Googlefinance函數經常被用來抓取證券的「股價」資訊,但這邊有個使用前提,由於Googlefinance函數是一個國際性的函數,而全世界也不只一個證券交易所,所以在用Googlefinance函數抓取資訊的時候,最好同時輸入兩種「代號」,分別是:

  • 交易所的代號
  • 股票的代號

「交易所代號」可以到這邊查詢,如果沒有輸入交易所代號的話,GOOGLEFINANCE函數就會自己判斷適合的股票資訊回傳給你。


aifian APP推薦活動
[ 這 是 APP 推 廣 活 動 廣 告 ]


如何用GOOGLEFINANCE函數抓取股價

了解上面的代碼規則之後,就用GOOGLEFINANCE來抓看看「台積電」的股價吧:

首先在儲存格輸入函數:

=GOOGLEFINANCE(

接著在第一個引數裡面填入台積電的代碼「TPE:2330」,交易所的代號跟股票代號之間要用半形冒號 : 連接,而這整個字串的旁邊記得要加上雙引號 ",最後的公式會像下面這樣:

=GOOGLEFINANCE("TPE:2330")

雖然即時股價有一個屬性 "price" 可以設定,但如果沒有輸入「屬性」這個引數的話,它的預設還是會回傳股價給你。操作示意圖如下:

GOOGLEFINANCE函數裡,輸入台積電的交易所代號跟股票代號


證券資訊能不能抓取?

在台灣股票市場就有分成「上市」「上櫃」「興櫃」這三種,並非所有公司都可以用GOOGLEFINANCE來抓資料,台灣只抓的到「上市」的股票資訊,如果想要知道其他證券資訊有沒有機會被GOOGLEFINANCE函數抓到,大概有兩種簡單的做法:

判斷方法一:使用Google首頁搜尋

第一種做法,就是在「Google首頁」的搜尋框,直接輸入公司的交易所跟股票代號,看看它的搜索結果是什麼,如果有出現類似下面這張股票走勢圖表的話,代表這間公司應該能用Googlefinance函數來抓取股價。

Google首頁搜尋「2330」出現的台積電股票圖表與資訊


判斷方法二:使用Google財經搜尋

第二種做法,則是到「Google財經」的網站搜尋,上面也有一個搜尋框可以搜尋公司股票資訊,這裡可以搜尋的比較全面一些。

在上面輸入代號的時候,它不會只顯示台灣的股票,如果其他地區有類似的股票代號,都會一起顯示出來。

Google財經搜尋「2303」出現的聯華電子股票圖表與資訊


aifian APP推薦活動
[ 這 是 APP 推 廣 活 動 廣 告 ]


GOOGLEFINANCE可能出現的情況

GOOGLEFINANCE無權存取的資料

能在「Google首頁」或「Google財經」搜尋到的公司,大多數都可以被GOOGLEFINANCE函數抓取到證券資訊,但也會有「無權存取」的情況發生。

GOOGLEFINANCE無權存取的交易所


GOOGLEFINANCE抓到其他公司的股價

如果在GOOGLEFINANCE只輸入「股票代號」會發生什麼事?

以下面這張圖為例子,假設我想搜尋台積電的股價,然後只在函數裡面輸入「2330」,那GOOGLEFINANCE回傳的股價就不是我想找的。

GOOGLEFINANCE函數沒有輸入交易所代號的結果,就是可能會顯示其他公司的證券資訊


GOOGLEFINANCE函數所回傳的股價,是同代碼但不同交易所的股票,也就是下面這張圖裡的「2330:HKG」的股價(從Google財經搜尋)。

跟「2330」類似的股票代號


GOOGLEFINANCE抓不到的證券資料

但如果在「Google財經」上找不到公司的話,那就真的不能用GOOGLEFINANCE函數來抓取資料了。

像下圖這樣,想搜尋上櫃「世界」的股票代號(5347)是搜尋不到的,只有出現其他國家相似的股票代號,輸入其它上櫃興櫃的股票代號也是差不多的結果,所以GOOGLEFINANCE沒辦法抓到台灣上櫃興櫃的股票資訊。

Google財經搜尋不到「世界(5347)」的證券資訊


因此在函數裡面輸入「世界」的股票代號(5347)時,GOOGLEFINANCE函數會顯示 未回傳資料 的錯誤訊息。

GOOGLEFINANCE函數輸入上櫃股票代號,會顯示錯誤訊息


aifian APP推薦活動
[ 這 是 APP 推 廣 活 動 廣 告 ]


指定為某個儲存格的技巧

接下來講一下,怎麼使用GOOGLEFINANCE函數會比較方便,在Google試算表裡有一些「簡單的符號」或「函數」可以來搭配使用,像是連接符號 &CONCATENATE函數 就是其中的例子。

搭配連接符號

如果你的表格裡面的「投資組合」,有跨越不同國家的交易所時,那你可以為「交易所代號」跟「股票代號」分別建立各自的資料欄,然後將代碼的引數指定到這兩個欄位的儲存格,並且中間用「&」符號連接起來。公式就會向下面這樣:

=GOOGLEFINANCE(B3&C3)

這樣用「自動填入」來複製公式的時候就會比較輕鬆,不用再點進去公式修改了,直接修改旁邊的證券代碼就好。

GOOGLEFINANCE函數搭配連接符號「&」


搭配CONCATENATE函數的方式

另外這個「CONCATENATE函數」也是不錯用的函數之一,功能跟「連接符號」很像,可以把不同的資料字串拼湊在一起。公式可以輸入像下面這樣:

=GOOGLEFINANCE(Concatenate("TPE:",B3)
GOOGLEFINANCE函數搭配CONCATENATE函數


GOOGLEFINANCE抓取各種證券資訊

再來看看用GOOGLEFINANCE函數的「屬性」,來抓看看蘋果公司的證券資訊吧!

只要把「代號」固定在某一個儲存格上,「屬性」放在不同的資料列,再把公式裡面的代號參照改為「絕對參照」,就可快速複製並顯示蘋果的證券資訊了。想看其他公司的資訊的話,只要修改「股票代號」就好。

=GOOGLEFINANCE($B$1,B4)
GOOGLEFINANCE函數的「屬性」應用方式


結語

「GOOGLEFINANCE函數」雖然可以拿來抓取很多證券資訊,甚至可以利用它來繪製圖表。不過很遺憾的是這個函數抓不到上櫃興櫃的股票,所以如果想要在試算表抓取上櫃股票的話,就得依賴別的「函數」或是「程式碼」了。

而且利用這個函數抓取的股價並不是「即時的」,所以盤中的時候盡量別用這個函數的價格當作參考。

Reference:Sheetgo Blog文件編輯器說明


延伸閱讀

【Google試算表】全部文章總整理

Google試算表|用SPARKLINE把【進度條】放進儲存格裡!

Google試算表【SUM】加總函數介紹,表格必備的函數之一

Google試算表【IF函數】的用法,跟吃飯一樣重要的函數!

Google試算表用【SORT函數】來排序,單欄多欄都OK!


aifian APP推薦活動


最後
§ 很感謝你的閱讀 §
如果你喜歡這篇文章的話

→ 歡迎 留言分享 喔!

→ 歡迎點下面這張圖來【贊助】支持我!讓我繼續為你創作更多內容!

贊助我一杯咖啡


發表迴響