Excelで、複数のXML形式のデータをインポート(読み込み)して一つにまとめる方法です。セル内にあるXMLの場合、【Excel】FILTERXML関数でXPathを指定してXMLからデータ抽出の方法があります。
今回は、XML形式のファイルが複数ある場合に、最近のExcelに標準で含まれているPower Queryを使用し、Excelで一括してデータ抽出する方法です。
使用のExcelは「Microsoft® Excel® for Microsoft 365 MSO」(バージョン2311)です。
内容:
事前の前提
次のように、一つのフォルダに「複数のXML形式のファイル」が保存されている。
事例のデータは、基本3情報ダウンロード|国税庁法人番号公表サイトで公開されているデータです(ダウンロードファイル内にある「05_Web-API機能(Ver.4.0)\03_取得期間指定」)。
手順
「フォルダーから」をクリック
「データ」タブで、「データの取得」-「ファイルから」-「フォルダーから」の順にクリックする。
なお、複数のファイルではなく、一つのXMLファイルの場合は「XMLから」をクリックする。
以降、「フォルダーから」をクリックし、複数ファイルのインポートの手順です。
複数のXMLファイルが保存されているフォルダを選択
フォルダの選択画面で、対象のフォルダを指定する。
「データの結合と変換」をクリック
フォルダ内の一覧が表示されている。「結合」-「データの結合と変換」の順でクリックする。
データ状況に応じて「読み込み」か「データの変換」をクリック
読み込まれたXMLが表示される。
今回の事例では、「corporation」列のTable内に抽出したいデータがあるので「データの変換」をクリックし、以降の手順でデータ抽出する。
必要なデータを抽出する
事例では、「corporation」列のTable内に抽出したいデータがあるため、「corporation」列で展開をクリックする。
必要なデータを選択する。
以上で、次のようにデータ抽出ができる。
参考
上記で、XMLをテーブルに変換時は以下の関数が使用されています。
PowerQueryに慣れるための最初のポイントについては、以下に記載しました。
以上、Power Queryを使用し、Excelで複数のXML形式のデータをインポート(読み込み)して一つにまとめる方法でした。