[Excel] 動態更新外部資料 § Microsoft Query (.iqy) 之應用


更新:本文是採用Office 2003為範例,若各位是用2010的版本,可以參考「[Excel] 如何在Excel 2010 中匯入IQY檔案

在上篇「[Excel] 匯入外部資料 § 於股票、基金之理財應用」文章中,已介紹了在Excel中匯入外部資料的基本技巧,本篇將再介紹一個非常有用的小技巧,可讓外部資料動態更新,使查詢資料更加人性化。 承上篇所舉的例子,假設要變更查詢標的,一般會在要更新的資料上按右鍵,選擇「編輯查詢」(或由功能列上選擇「資料」、「匯入外部資料」、「編輯查詢」),然後在跳出的「編輯Web查詢」視窗中,重新輸入新資料的地址,舉例來說若要把伍豐變成聯發科,那地址就改成

再按匯入即可,和上篇所述並沒有什麼特別不同,只是當查詢的筆數越來越多或每次要變更資料都要重覆這個動作,是不是覺得很麻煩呢?此時,就可以利用Microsoft Query來達到動態更新的功能,解決上述的麻煩。(註:MS Query簡單的來說就是外部資料庫和Excel中溝通橋樑,在微軟的Office Online上有清楚的說明,在此便不贅述。)

MS Query的範圍蠻廣的,本文只針對Web查詢部分來作說明:欲建立一個MS Query Web查詢的檔案(副檔名為iqy),有二個比較直覺的方法,第一種是用文書編輯器,按照這邊的舊文手動建立「XXX.iqy」檔案,這個方法要知道每個欄位代表的意思才能有所發揮,比較不適合一般使用者,第二種是本篇採用的方法,請直接在上圖右上角的地方,按「儲存查詢」的圖示,這樣就可以簡單的存成一個 iqy 檔案,若用編輯器打開它,可以看到以下的資訊:

現在讓我們直接切入重點,在第三行的地方即是要查詢各資料的地址,由此可以發現伍豐、聯發科的查詢網址,不同的地方只在於最後的數字,這也是要動手腳的地方,請把數字部分改成 [“參數名稱”,”提示字詞”] 這種格式存檔就可以了,實際的範例如下圖所示(其實提示字詞隨便填就好,本篇也不會用到 XD):

接著由功能列中的「資料」、「匯入外部資料」、「匯入資料」,來匯入剛剛所建立的 iqy 檔案,眼尖的讀者應該可以下面的擷圖發現和上篇文章的範例圖有一點不同,即是現在這個視窗多了一個「參數」的選項可供設定,這也就是我們最主要的目的所在了。

按下參數後,可以發現剛剛設定的一些參數已經出現在這個視窗中,各位可以直接按確定試試看有什麼事情會發生,至於第二個選項,其實只要在這輸入股票代號就可以更新了,但本篇要說明的是第三個選項,請各位選擇「以下列儲存格做為參數值的來源」,然後填入欲當來源的儲存格,這裡要注意一點,在選儲存格的時候,可以留一點空間下來,防止資料把來源儲存格給蓋掉了,甚至為了美觀起見,可以把這個來源儲存格放在千里之外不讓人發覺,另外建議先在來源儲存格填入一個預設值,例如:8706,最後記得把「當儲存格值變更時自動更新」勾起來。

 

這樣就大功能告成了,以後只要在儲存格A10的地方輸入股票代號資料就會自動更新,不用再一步一步的手動設定囉,此時再按右鍵的話,也會多了一個「參數」選項,若之前的設定不滿意可以從這重新做設定。

 

若要查詢不同的網站,雖不能說百分之百相同,但理論是差不多的,請自行加以類推,如:GOGOFUND,要變更的就是在基金代號部分。魚竿都給各位了,怎麼釣魚就靠自己囉。

延伸閱讀:
[Excel] 如何在Excel 2010 中匯入IQY檔案
13 款免費理財軟體 / Excel 整理