常有網友會詢問關於抓取股票資訊的問題,因為我沒有在接觸股票,所以對這些議題較為陌生。但是研究動態陣列時,倒是知道有一個函數和歷史股價資訊有關可以運用。

在 Excel 裡有一個函數:STOCKHISTORY,可以用來抓取歷史的股價相關資訊。(特別聲明:圖中資訊無法保證其正確性。)

Excel-取得一家公司某個時間內的歷史股價變化資訊

下圖是由 Google 搜尋顯示的結果:

Excel-取得一家公司某個時間內的歷史股價變化資訊

【設計與解析】

STOCKHISTORY 函數說明:

https://support.microsoft.com/zh-tw/office/stockhistory-函數-1ac8b5b3-5f62-4d94-8ab8-7504ec7239a8

股票財務資料來源:

https://support.microsoft.com/zh-tw/office/關於股票財務資料來源-98a03e23-37f6-4776-beea-c5a6c8e787e6

語法:= STOCKHISTORY(stock,start_date,[end_date],[interval],[headers],[property0],[property1],[property2],[property3],[property4],[property5])

stock:股票

start_date:檢索資料的最早日期。

end_date:檢索資料的最晚日期。

interval:指定每個資料值的間隔,其中「0=每天、1=每週、2=每月」,預設值為0。

headers:指定是否要顯示標題,其中「 0=無標頭、1=顯示標頭、2=顯示工具識別碼和標頭」。預設值為1。

property0 - property5:針對每個股票的檢索欄:「0=日期、1=關閉、2=開啟、3= 高、4=低、5=成交量」。

公式,儲存格E3:=STOCKHISTORY(B6,B7,B8,B9,B10,B11,B12,B13,B14,B15,B16)

例如,要根據以下的設定來獲取結果,其中 property0~property5 如果為空白,表示不顯示該資料。

Excel-取得一家公司某個時間內的歷史股價變化資訊

這是動態陣列,在儲存格E3輸入公式,會自動溢出至其他的儲存格。

image

修改參數內容,動態結果會自動改變:(不例公式不變)

Excel-取得一家公司某個時間內的歷史股價變化資訊

 

【補充技巧】

因為是動態陣列,所以最後結果的筆數無法預估,如何在最後一筆加上「下框線」。

可以這樣做:

1. 選取多個儲存格範圍。(本例:儲存格E4:H81)

Excel-取得一家公司某個時間內的歷史股價變化資訊

2. 設定格式化的規則:=(E4<>"")*(E5=""),符合者,顯示下框線。

即原儲存格的「上一個儲存格不是空白且下一個儲存格是空白」者,顯示下框線。

Excel-取得一家公司某個時間內的歷史股價變化資訊

【參考資料】

 STOCKHISTORY 函數參考微軟提供的說明網頁:STOCKHISTORY 函數

學不完.教不停.用不盡文章列表

arrow
arrow
    文章標籤
    Excel 股價 動態陣列
    全站熱搜

    vincent 發表在 痞客邦 留言(0) 人氣()