前一篇文章:Excel-利用FILTERXML函數執行資料剖析,使用了 FILTERXML 函數。
本篇進一步要實際在 Excel 工作中由 Google API 取得地點的經度和緯度,來再次認識 FILTERXML 函數的應用。
【設計與解析】
(1) 利用 Google API 求得地點的資料(傳回XML格式)
利用 Goolge API,只要輸入一個地點,Google 會傳回這個地點的相關資訊。例如上圖右半部的資訊。
網址如下:
https://maps.googleapis.com/maps/api/geocode/xml?address=台北101&key=YourKey
其中 YourKey 是指你必須先取得 Google 提供的金鑰。
當你取得了這個 XML 格式的內容,你要試著解析其中的內容,並找到我們想要的緯度(Latitude)和經度(Longitude)。
(2) 緯度公式:=FILTERXML(WEBSERVICE(第(1)式),"//location/lat")
在公式中,利用 WEBSERVICE(第(1)式) 即可取得 XML 內容。
在 FILTERXML 函數中利用參數「//location/lat」,即可取得緯度。
FILTERXML 的語法為:FILTERXML(xml, xpath),
其中的語法結構是以<文字>開頭、</文字>結尾。
其中「//」是最頂層至此的結構被省略,lat的結構://location/lat。
(3) 經度公式:=FILTERXML(WEBSERVICE(第(1)式),"//location/lng")
在 FILTERXML 函數中利用參數「//location/lng」,即可取得經度。
(4) 在 Google 地圖上檢視
如果要在 Google 地圖上檢視該地點,先看看Google網頁的說明:
https://support.google.com/maps/answer/18539
在電腦上開啟 Google 地圖,可使用來搜尋座標的可用格式:
(1) 十進位度數 (DD):41.40338, 2.17403
(2) 度數、分數和秒數 (DMS):41°24'12.2"N 2°10'26.5"E
(3) 度數和小數分數 (DMM):41 24.2028, 2 10.4418
請先列出緯度,再輸入經度。
緯度座標的整數須介於 -90 和 90 之間。
經度座標的整數須介於 -180 和 180 之間。
Google Maps 採用:緯度在前、經度在後
儲存格D13:
=HYPERLINK("https://www.google.com.tw/maps/place/"&B13&"N+"&C13&"E","在地圖上檢視")
點選超連結,可得以下的畫面:
【延伸閱讀】
【參考資料】
FILTERXML 函數參考微軟提供的說明網頁:
https://support.microsoft.com/zh-tw/office/filterxml-函數-4df72efc-11ec-4951-86f5-c1374812f5b7
留言列表