FILTERXML 関数は、XML 形式のデータから特定の情報を抽出するために使う Excel 関数です。主に、XML 文字列と XPath クエリを使って、必要なデータを取得します。
🧩 書式
FILTERXML(xml, xpath)
| 引数 | 内容 |
|---|---|
xml | 対象となる XML 形式の文字列 |
xpath | 抽出したい情報を指定する XPath |
✅ 例
📄 例 1:基本的な使用例
=FILTERXML("<root><item>Apple</item><item>Banana</item></root>", "//item")
👉 結果:縦方向に「Apple」「Banana」と表示されます(複数セルに分割)
📄 例 2:属性を抽出
=FILTERXML("<books><book title='Excel Guide'/><book title='VBA Manual'/></books>", "//book/@title")
👉 結果:「Excel Guide」「VBA Manual」
⚠️ 注意点
FILTERXML関数は Excel 2013以降(Windows版) に搭載。- XML が無効な構造(例:タグが閉じていない)だと、
#VALUE!エラーになります。 - 結果が複数要素になる場合、スピルして縦に展開されます(Excel 365 などのスピル対応バージョンで)。
❗よくある用途
- WEBSERVICE 関数と連携して、外部データ(RSS、API)を取得
- Excel で簡単な XML 分析や検証
- HTML(XHTML 構造)から一部データ抽出(注意:完全な HTML は対象外)
🚫 使えないケース
- JSON データには非対応(代替として
WEBSERVICE+ Power Query やLET関数とカスタム関数の組み合わせ) - HTML(非XML形式)には正しく動作しないことが多い