FILTERXML 函數會使用指定的 xpath 從 XML 內容傳回特定資料。
注意
- FILTERXML 函數不適用於 Excel 網頁版和 Mac 版 Excel。
- 此函數可能會出現在 Mac 版 Excel 中的函數庫中,但它仰賴於 Windows 作業系統的功能,因此不會在 Mac 上傳回結果。
語法
FILTERXML(xml, xpath)
FILTERXML 函數語法具有下列引數。
| 引數 | 描述 |
|---|---|
|
XML 必要 |
有效 XML 格式的字串 |
|
xpath 必要 |
標準 XPath 格式的字串 |
注意
- 如果 xml 無效,FILTERXML 會傳回 #VALUE! 錯誤值。
- 如果 xml 包含的命名空間含有無效的前置詞,FILTERXML 會傳回 #VALUE! 的錯誤值。
範例
此範例在儲存格 B2 傳回的 XML 資料上使用 FILTERXML 函數,該函數由儲存格 B1 中 Web 查詢上的 WEBSERVICE 函數結果提供。
來自 FILTERXML 的資料會傳回在儲存格 B3:B5 和 C3:C5 中,並顯示維基百科上三個最近更新的查詢結果,以及它們的更新時間, (UTC「國際標準時間」) 。
儲存格 B3:B5 包含公式 =FILTERXML (B3,“//rc/@title”) 。
儲存格 C3:C5 包含公式 =FILTERXML (B3,“//rc/@timestamp”) 。注意
如果您有目前版本的 Microsoft 365,則只需在輸出範圍的左上角儲存格中輸入公式,然後按 ENTER 以確認公式為動態陣列公式。 否則,請先選取輸出範圍,在輸出範圍左上角的儲存格中輸入公式,然後按 CTRL+SHIFT+ENTER 以進行確認,以舊的陣列公式輸入公式。 Excel 會為您在公式的開頭和結尾處插入大括號。 如需有關陣列公式的詳細資訊,請參閱陣列公式的規則和範例。
您也可以搭配使用 FILTERXML 和 ENCODEURL 和 WEBSERVICE 函數。 例如,您可以使用 markitondemand.com API 服務傳回公司股票的相關資訊:
=WEBSERVICE (“http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol=”&ENCODEURL (C2) )
您在儲存格 C2 中有股票行情的位置。
接著,您可以使用 FILTERXML 函數來擷取有關該股票的特定資料。 例如,若要取得儲存格 C2 中股票代碼的最後價格,您可以使用:
=FILTERXML (WEBSERVICE (“http://dev.markitondemand.com/MODApis/Api/Quote/xml?symbol=”&ENCODEURL (C2) ) ,“//QuoteApiModel/Data/LastPrice”)
需要更多協助嗎?
您隨時都可以詢問 Excel 技術社群 中的專家,或在 社群中取得支援。