FILTERXML関数:XML文書からXPathが示すデータを取得する

FILTERXML 関数は Excel で用意されている関数の一つで、XML文書から引数に指定した XPath が示すデータを取得します。ここでは Excel における FILTERXML 関数の使い方について解説します。

※ Excel の対応バージョン : 365 2021 2019 2016 2013

(Last modified: )

FILTERXML関数の使い方

FILTERXML 関数は XML 文書の中から引数に指定した XPath が示すデータを取得します。

FILTERXML(XML,XPath)

1 番目の引数に XML 文書が入力されているセルを指定します。 2 番目の引数にデータを取得する XPath を指定します。

例えば次のような XML 文書がセルに入力されているとします。

<?xml version="1.0" encoding="UTF-8" ?>
<foods>
  <food>
    <name>バナナ</name>
    <color>黄色</color>
  </food>
</foods>

これに対して name 要素のデータを取得するには例えば次のように XPath を指定します。

/foods/food/name
//name

/foods/food/name の方はルートからの順番にパスを指定したもので、 //name の方は途中のパスを省略したものです。実際にどのようなデータが取得できるのかはこのあとのサンプルをご確認ください。

FILTERXML関数のサンプル

それでは実際に ENCODEURL 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

FILTERXML関数のサンプル(1)

取得したデータを表示する B4 セルを選択し、次のように入力しました。 1 番目の引数として XML 文書が入力されている B2 セルを指定しています。 2 番目の引数として "//name" を直接入力しました。

=FILTERXML(B2,"//name")

FILTERXML関数のサンプル(2)

Enter キーを押すと、 B4 セルおよび B5 セルには次のように表示されます。

FILTERXML関数のサンプル(3)

今回指定した XPath が示すデータは 2 つ見つかったので、結果を配列として取得し表示されました。

-- --

Excel における FILTERXML 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

Profile
profile_img

著者 / TATSUO IKURA

プログラミングや開発環境構築の解説サイトを運営しています。