常有網友會詢問關於抓取股票資訊的問題,因為我沒有在接觸股票,所以對這些議題較為陌生。但是研究動態陣列時,倒是知道有一個函數和歷史股價資訊有關可以運用。
在 Excel 裡有一個函數:STOCKHISTORY,可以用來抓取歷史的股價相關資訊。(特別聲明:圖中資訊無法保證其正確性。)
下圖是由 Google 搜尋顯示的結果:
【設計與解析】
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 如果為空白,表示不顯示該資料。
這是動態陣列,在儲存格E3輸入公式,會自動溢出至其他的儲存格。
修改參數內容,動態結果會自動改變:(不例公式不變)
【補充技巧】
因為是動態陣列,所以最後結果的筆數無法預估,如何在最後一筆加上「下框線」。
可以這樣做:
1. 選取多個儲存格範圍。(本例:儲存格E4:H81)
2. 設定格式化的規則:=(E4<>"")*(E5=""),符合者,顯示下框線。
即原儲存格的「上一個儲存格不是空白且下一個儲存格是空白」者,顯示下框線。
【參考資料】
留言列表