1. トップ
  2. 新着ニュース
  3. IT
  4. IT総合

Excelをノーコードで自動化しよう! パワークエリの教科書 第10回 フォルダーからデータを取得する方法

マイナビニュース / 2024年7月15日 11時0分

「OK」ボタンをクリックしてデータを結合すると、4月1日のデータを取得した後にエラー(Error)が発生していることを確認できる。

これは、4月2日のExcelファイルに「sheet1」というシート名が存在していないことが原因だ。さらに、4月3日以降のデータ取得も実行されなくなってしまう。

ファイルの結合方法を指定する画面で「エラーのあるファイルをスキップする」をチェックしておけば、4月3日以降のデータを取得できるようになるが、4月2日のデータを取得できないことに変わりはない。

このように、それぞれのExcelファイルで「シート名」が異なる場合も正しくデータを取得できなくなってしまう。

このようなトラブルを回避するには、それぞれのExcelファイルで

・データ表の「見出し」を統一しておく
・「シート名」を統一しておく

という点に配慮しなければならない。これらの表記が異なる場合は、「表記を統一する作業」を行った後にパワークエリを使用する必要がある。
シート名を指定せずにデータ結合する方法

最後に、シート名を指定せずにデータを結合する方法を紹介しておこう。それぞれのExcelファイルで「見出し」や「シート名」を統一されていないときの対処法として覚えておくとよい。

シート名を指定せずにデータを結合するときは、「パラメーター」の部分を指定した状態で「OK」ボタンをクリックする。

すると、フォルダー内にある“ファイルの情報”が「Power Query エディター」に取得される。

以降の手順は、前回の連載で紹介した「各ワークシートにあるデータ表を結合したい場合は?」と同じ。以下の図に示した手順で「Data」の列を展開する。

展開されたデータを見ると、「シート名」や「見出し」が異なっていても、正しくデータが取得されていることを確認できるだろう。

続いて、不要な列を削除し、ヘッダーを指定する処理などを行うと、データを結合した表に加工できる。取得元フォルダーにあるExcelファイルの数が多く、表記を統一するのが大変な場合は、この方法でデータの結合&取得を行ってもよい。

ただし、それぞれのExcelファイルで「列の並び順が異なる」とか、「列の数が異なる」といった場合は上手くいかないケースもある。シート名を指定しなかった場合は、「見出し」ではなく、「列の並び順」を基準にデータが結合される仕組みになっている。これまでの話をまとめると、

◆シート名を指定した場合
・各列の「見出し」を基準にデータが結合される
・「見出し」の文字が異なる場合、その列のデータは取得されない

◆シート名を指定しなかった場合
・各列の「並び順」を基準にデータ結合される

念のため、こういった“仕組みの違い”についても覚えておく必要があるだろう。
(相澤裕介)



この記事に関連するニュース

トピックスRSS

ランキング

記事ミッション中・・・

10秒滞在

記事にリアクションする

記事ミッション中・・・

10秒滞在

記事にリアクションする

デイリー: 参加する
ウィークリー: 参加する
マンスリー: 参加する
10秒滞在

記事にリアクションする

次の記事を探す

エラーが発生しました

ページを再読み込みして
ください