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では非対応である点に注意が必要です。