Power QueryでExcelを結合した時のエラー対策 -原因はシート名-
下記の記事で、パワークエリによるブックの結合方法を紹介しましたが、その前提条件の1つに「シート名がすべて同じ」とありました。
今回の記事では、シート名が異なっている場合のエラーの概要と、対処方法について紹介します。
まずは、シート名が1つだけ異なっている場合、どこでエラーが発生するか検証してみましょう。
なお、この記事執筆時のエクセルのバージョンは、Excel2016です
検証に使うファイル
ファイルは下記からダウンロードしてください。
📌NOTE |
---|
|
どこでエラーになるか検証
実際に上記のエクセルブックを結合してみて、どこでエラーになるか見てみましょう。
シート名が異なっているエクセルブックの見つけ方
この記事では、02_B支店.xlsxのシート名が異なっているとわかっていますが、もしそれが分かっていない場合のために特定する方法を紹介します。
エラー表示のOKをクリックします。
エクセルブックの右側に表示されている「クエリと接続」のウィンドウの一番下に表示されている「ダウンロードは完了していません。」をダブルクリックします。
Power Queryエディターが開きます。
中央の4行目にErrorと表示されていることから、3行目までの「01_A支店.xlsx」の次にエラーが発生したことがわかります。
Errorをクリックしてみましょう。
Kind=Sheetと表示されているので、エラーの種類が「シート」に関することだと分かります。
どのエクセルブックかを特定するため、適用したステップのうち、「削除された他の列1」をクリックします。
エラーが発生しているエクセルブックが、「02_B支店.xlsx」であることが突き止められました。
📌NOTE |
---|
|
今度はそのエラーの対処方法を説明します。
エラーの対処方法
私が調べた限りでは、エラーの解消方法は2つあります。
シート名を修正する
上記のとおりエラーが発生しているエクセルブックを見つけたら、Power Query エディターを閉じます。
ただし、エクセルは閉じずにそのままにしておきます。
そしてエラーが検出されているエクセルブックを開きます。
シート名を「Bfile」から「data」に書き換え、保存します。
結合作業中のエクセルに戻り、「データ」タブの「すべてを更新」をクリックします。
エラーが解消され、データが結合されました。
やや手間が掛かりますが、私はいつもこの方法で修正します。
CSVファイルにしてから読み込む
もう一つの対処方法は、すべてのエクセルブックをcsvで保存し直してから、結合することです。
エクセルブックをCSVに変換すると、シート名の情報は結合時にエラーとなりません。
ただし、この方法はエクセルブックにシートが1つしかない場合に限られます。
また、複数のエクセルブックを一括でCSVに変換する機能はエクセルにないので、一つずつブックを開いてCSVで保存し直すがあります。
まとめ
Power Queryで複数のエクセルブックを結合するには、シート名が同じでなければなりません。
シート名が異なっている場合は、一つずつエクセルブックの開いてシート名を修正する方法が確実です。
ちょっと手間に感じる修正作業かもしれません。