轉自
--
很多人都會用 Google 試算表來記錄工作中的事務,同時可能會搭配很多函數來管理,但你知道試算表有一個函數是專門抓取財經資訊的嗎?那就是 GOOGLEFINANCE 函數!只要使用這個函數,就可以在試算表內自動抓取世界各地的股票資訊!
GOOGLEFINANCE 函數介紹
官方說明:從 Google 財經服務擷取有價證券的最新或過往資訊。
官方中文與英文版的語法如下:
中文版=GOOGLEFINANCE(代號,[屬性],[開始日期],[結束日期|天數],[間隔])
英文版=GOOGLEFINANCE(ticker,[attribute],[start_date],[end_date|num_days],[interval])
所以從官方說明跟語法來看,這就是 Google 試算表專門用來抓取「Google 財經」有價證券資訊的函數。雖然函數裡面可以用的引數多達5個,而且「屬性」可以設定的項目也不少,但或許並不會用到那麼多,主要看你想用這個函數來做什麼。
免責聲明
一旦在試算表裡面使用「GOOGLEFINANCE」這個函數之後,工作表下面就會出現一條「免責聲明」的訊息,提醒你說報價不會像專業看盤軟體那樣即時,使用的時候要特別注意:
提供的報價並非來自所有市場的即時報價(最長可能延遲20分鐘)。所提供資訊均以現狀提供,僅供參考,不宜做為買賣依據或諮詢之用。免責聲明
輸入代號時需要注意什麼?
Googlefinance 函數經常被用來抓取證券的「股價」資訊,但這邊有個使用前提,由於 Googlefinance 函數是一個國際性的函數,而全世界也不只一個證券交易所,所以在用 Googlefinance 函數抓取股票資訊的時候,最好同時輸入兩種「代號」,分別是:
- 交易所的代號
- 股票的代號
「交易所代號」可以到這邊
查詢,如果沒有輸入交易所代號的話,GOOGLEFINANCE 函數就會自己判斷適合的股票資訊回傳給你。
如何用 GOOGLEFINANCE 函數抓取股價
了解上面的代碼規則之後,就用 GOOGLEFINANCE 來抓看看「台積電」的股價吧。
首先在儲存格輸入函數:
=GOOGLEFINANCE(
接著在第一個引數裡面填入台積電的代碼 TPE:2330
,交易所的代號跟股票代號之間要用半形冒號 :
連接,而這整個字串的旁邊記得要加上雙引號 "
,最後的公式會像下面這樣:
=GOOGLEFINANCE("TPE:2330")
雖然即時股價有一個屬性 "price"
可以設定,但如果沒有輸入「屬性」這個引數的話,它的預設還是會回傳股價給你。操作示意圖如下:
證券資訊能不能抓取?
在台灣股票市場就有分成「上市」、「上櫃」跟「興櫃」這三種,並非所有公司都可以用 GOOGLEFINANCE 來抓資料,台灣只抓的到「上市」的股票資訊,如果想要知道其他證券資訊有沒有機會被 GOOGLEFINANCE 函數抓到,大概有兩種簡單的做法:
判斷方法一:使用 Google 首頁搜尋
第一種做法,就是在「Google 首頁」的搜尋框,直接輸入公司的交易所跟股票代號,看看它的搜索結果是什麼,如果有出現類似下面這張股票走勢圖表的話,代表這間公司應該能用 Googlefinance 函數來抓取股價。
判斷方法二:使用 Google 財經搜尋
第二種做法,則是到「Google 財經」的網站搜尋,上面也有一個搜尋框可以搜尋公司股票資訊,這裡可以搜尋的比較全面一些。
在上面輸入代號的時候,它不會只顯示台灣的股票,如果其他地區有類似的股票代號,都會一起顯示出來。
GOOGLEFINANCE 可能出現的情況
GOOGLEFINANCE 無權存取的資料
能在「Google 首頁」或「Google 財經」搜尋到的公司,大多數都可以被 GOOGLEFINANCE 函數抓取到證券資訊,但也會有「無權存取」的情況發生。
GOOGLEFINANCE 抓到其他公司的股價
如果在 GOOGLEFINANCE 只輸入「股票代號」會發生什麼事?
以下面這張圖當作範例,假設我想搜尋台積電的股價,然後只在函數裡面輸入「2330」,那 GOOGLEFINANCE 回傳的股價就不是我想找的。
GOOGLEFINANCE 函數所回傳的股價,是同代碼但不同交易所的股票,也就是下面這張圖裡的「2330:HKG」的股價(從 Google 財經搜尋)。
GOOGLEFINANCE 抓不到的證券資料
但如果在「Google 財經」上找不到公司的話,那就真的不能用 GOOGLEFINANCE 函數來抓取資料了。
像下圖這樣,想搜尋上櫃「世界」的股票代號(5347)是搜尋不到的,只有出現其他國家相似的股票代號,輸入其它上櫃興櫃的股票代號也是差不多的結果,所以 Google Finance 沒辦法抓到台灣櫃買跟興櫃的股票資訊。
因此在函數裡面輸入「世界」的股票代號(5347)時,GOOGLEFINANCE 函數會顯示 未回傳資料
的錯誤訊息 #N/A
。
指定為某個儲存格的技巧
接下來講一下,怎麼使用 GOOGLEFINANCE 函數會比較方便,在 Google 試算表裡有一些「簡單的符號」或「函數」可以來搭配使用,像是連接符號 &
跟 CONCATENATE函數
就是其中的例子。
搭配連接符號
如果你的表格裡面的「投資組合」,有跨越不同國家的交易所時,那你可以為「交易所代號」跟「股票代號」分別建立各自的資料欄,然後將代碼的引數指定到這兩個欄位的儲存格,並且中間用「&」符號連接起來。公式就會向下面這樣:
=GOOGLEFINANCE(B3&C3)
這樣用「自動填入」來複製公式的時候就會比較輕鬆,不用再點進去公式修改了,直接修改旁邊的證券代碼就好。
搭配 CONCATENATE 函數的方式
另外這個「CONCATENATE 函數」也是不錯用的函數之一,功能跟「連接符號」很像,可以把不同的資料字串拼湊在一起。公式可以輸入像下面這樣:
=GOOGLEFINANCE(Concatenate("TPE:",B3)
GOOGLEFINANCE 抓取各種證券資訊
再來看看用 GOOGLEFINANCE 函數的「屬性」,來抓看看蘋果公司的證券資訊吧!
只要把「代號」固定在某一個儲存格上,「屬性」放在不同的資料列,再把公式裡面的代號參照改為「絕對參照」,就可快速複製並顯示蘋果的證券資訊了。想看其他公司的資訊的話,只要修改「股票代號」就好。
=GOOGLEFINANCE($B$1,B4)
結語
經過上面的函數教學之後,應該知道怎麼用函數抓取股價了吧,不管是台股還是美股,甚至是其他地方的股票都可以試試看。
「GOOGLEFINANCE 函數」雖然可以拿來抓取很多證券資訊,甚至可以利用它來繪製圖表。不過很遺憾的是這個函數抓不到上櫃興櫃的股票,所以如果想要在試算表抓取上櫃股票的話,就得依賴別的「函數」或是「程式碼」了。
而且利用這個函數抓取的股價並不是「即時的」,所以盤中的時候盡量別用這個函數的價格當作參考。
--
留言列表