FILTERXML 函數

套用到
Microsoft 365 Excel Excel 2024 Excel 2021 Excel 2019 Excel 2016

FILTERXML 函式透過指定的 xpath 從 XML 內容中回傳特定資料。

注意

  • FILTERXML 函式在 Excel 網頁版及 Mac 版 Excel 中無法使用。
  • 這個函式可能會出現在 Mac 版 Excel 的功能庫中,但它依賴 Windows 作業系統的功能,因此在 Mac 上無法回傳結果。

語法

FILTERXML(xml, xpath)

FILTERXML 函數語法具有下列引數。

引數 描述
XML
必要
有效 XML 格式的字串
XPas
必要
標準 XPath 格式的字串

注意

  • 如果 xml 無效,FILTERXML 會傳回 #VALUE! 錯誤值。
  • 如果 xml 包含的命名空間含有無效的前置詞,FILTERXML 會傳回 #VALUE! 的錯誤值。

範例

  1. 此範例使用 FILTERXML 函式,處理儲存格 B2 中回傳的 XML 資料,該資料由 WEBSERVICE 函式在 B1 儲存格中查詢的結果提供。
    FILTERXML 函式的範例
    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 會為您在公式的開頭和結尾處插入大括號。 如需有關陣列公式的詳細資訊,請參閱陣列公式的規則和範例

  2. 你也可以搭配 ENCODEURLWEBSERVICE 函式使用 FILTERXML。 例如,你可以使用 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 技術社群 的專家詢問,或在 社群中獲得支援。