Excel XMLにXPathを指定してデータを取得(FILTERXML関数)
FILTERXML関数はXML形式の文字列に対して
XPathを指定して任意のデータを取得する関数です。
HTMLもXMLのルールの中にあるため利用可能です。
多くの場合、FILTERXML関数単独ではなく
WEBSERVICE関数と併用してExcelからマクロなしで
WebAPIにアクセスする用途に使用します。
仕様
=FILTERXML(XML,XPath)
引数 | 省略時の値 | 説明 |
---|---|---|
XML | 省略不可 | 抽出元となるXML文字列を指定。 |
Xpath | 省略不可 | Xpath構文を指定 |
使用例
サンプルのXMLとXPath及びFILTERXML関数の結果です。
XMLかXPathが解析不可能な場合、#VALUE!エラーとなります。

Xpathのルールは色々ありますが、以下を押さえれば最低限利用可能でしょう。
- // で始まり /区切りでタグの階層を指定
- @でタグの属性を指定
スピルを利用する方法とメリット
Office365やExcel2019以降ではスピルという形式で記述可能です。
これは複数セルに数式をコピーする場合に便利な機能です。
スピルの利用には何れかの引数を複数セルの範囲で指定します。

数式を入力するのは最初の一つのセルですが、
引数で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

スピルを利用することで今回の例では、
C6セルに入力するだけでよいため(C7以降にコピーペーストが不要)
以下のメリットがあります。
- 入力の手間が少ない(数式のセルが多いほど効果が大きい)
- 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
- 絶対参照が不要
- 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。