FILTERXML関数 – Web

FILTERXML関数 – XML形式のデータから指定ノードの情報を抽出する関数


1. 使い方と活用例

FILTERXML関数は、文字列として入力されたXMLデータから、指定したXPathに一致する要素や値を抽出する関数です。
Webサービスから取得したXMLレスポンスの解析や、構造化されたテキストから特定の情報を取り出す際に便利です。

2. 基本の書式

=FILTERXML(XML文字列, XPath)

3. 引数の説明

  • XML文字列 – 対象となるXML形式の文字列を指定します(セル参照も可)。
  • XPath – 取得したい要素や属性を指定するXPath式です。

4. 使用シーン

  • 外部サービスやAPIから取得したXMLデータをExcelで処理する場合
  • XML形式で保存された設定ファイルやデータベースの読み取り
  • 複雑なXMLデータから必要な項目だけを抽出したい場合

5. 応用のポイント

FILTERXML関数は、有効なXML形式のテキストであることが必須です。
XPathの指定には、要素名や属性、インデックスなどを使用できます(例://title//book[1]/author など)。
Excel内でWEBSERVICE関数と組み合わせることで、オンラインのXMLデータを直接取得・解析できます。

6. 具体例とその解説

=FILTERXML("<books><book><title>Excel入門</title></book><book><title>関数ガイド</title></book></books>", "//title")

この式は、2つの<title>要素を持つXMLデータから、すべてのタイトル要素を抽出して返します。
結果はスピルとして縦に展開され、「Excel入門」「関数ガイド」が表示されます。

7. 関連関数の紹介

  • WEBSERVICE関数 – 指定したURLからWebデータ(XMLやJSON)を取得する関数
  • TEXTJOIN関数 – 配列や複数セルを結合して1つの文字列にする関数
  • ENCODEURL関数 – URL内の文字列をエンコードする関数(WEBSERVICEとの併用)

8. まとめ

FILTERXML関数は、ExcelでXML形式のデータを手軽に処理できる強力な関数です。
XPathを活用すれば、階層的なデータ構造から目的の情報だけを簡潔に取得できます。
Web APIやシステム間連携において、Excelをデータ解析ツールとして活用する際に重宝されます。

9. 対応バージョン

FILTERXML関数は、Excel 2013以降のWindows版Excelで使用可能です。
Mac版Excelでは非対応である点に注意が必要です。