FILTERXML 関数
Excel for Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 その他…表示数を減らす
FILTERXML 関数は、指定された xpath を使用して XML コンテンツから特定のデータを返します。
注:
FILTERXML 関数は、 Web 用 Excel および Excel for Mac では使用できません。
この関数は Excel for Mac の関数ギャラリーに表示される場合がありますが、Windows オペレーティング システムの機能に依存します。そのため、Mac では結果が返されません。
構文
FILTERXML(XML, XPath)
FILTERXML 関数の書式には、次の引数があります。
引数 | 説明 |
---|---|
xml 必須 | 有効な XML 形式の文字列 |
xpath 必須 | 標準の XPath 形式の文字列 |
注:
XML が無効な場合は、エラー値 #VALUE! が返されます。
XML に無効なプレフィックスを持つ名前空間が含まれている場合は、エラー値 #VALUE! が返されます。
使用例
- この例では、セル B2 で返される XML データに対して FILTERXML 関数を使用します。この関数は、セル B1 の Web クエリの WEBSERVICE 関数の結果によって提供されます。
FILTERXML のデータはセル B3:B5 と C3:C5 に返され、Wikipedia で最近更新された 3 つのクエリ結果と更新時刻 (UTC、"協定世界時") が表示されます。
セル B3:B5 には、=FILTERXML(B3,"//rc/@title") という数式が含まれている。
セル C3:C5 には、数式 =FILTERXML(B3,"//rc/@timestamp") が含まれている。
注: 現在のバージョンのMicrosoft 365を使用している場合は、出力範囲の左上のセルに式を入力しENTER キーを押して、式を動的な配列の数式として確定することができます。 それ以外の場合、最初に出力範囲を選択し、出力範囲の左上のセルに数式を入力し、CTRL+SHIFT+ENTER キーを押して確定し、従来の配列数式として数式を入力する必要があります。 Excel によって、数式の先頭と末尾に中かっこが挿入されます。 配列数式の詳細については、「 target=”_blank” title=”配列数式のガイドラインと例” rel=”noopener”>配列数式のガイドラインと例」を参照してください。
- FILTERXML を ENCODEURL 関数および target=”_blank” title=”WEBSERVICE” rel=”noopener”>WEBSERVICE 関数と組み合 target=”_blank” title=”わせて使用” rel=”noopener”>わせて使用 できます。 たとえば、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 Tech Communityで、いつでも専門家に質問できます。また、コミュニティでは、サポートを受けられます。
関連項目
target=”_blank” title=”ENCODEURL 関数” rel=”noopener”>ENCODEURL 関数
target=”_blank” title=”WEBSERVICE 関数” rel=”noopener”>WEBSERVICE 関数