複数のファイルを含むフォルダーからデータをインポートする (Power Query)
Excel for Microsoft 365 Excel 2021 Excel 2019 Excel 2016 Excel 2013 その他…表示数を減らす
Power Queryを使用して、1 つのフォルダーに格納されている同じスキーマを持つ複数のファイルを 1 つのテーブルに結合します。 たとえば、月ごとに複数の部署の予算ブックを結合する場合、列は同じですが、行数と値の数は各ブックで異なります。 設定したら、インポートした 1 つのデータ ソースと同様に追加の変換を適用し、 target=”_blank” title=”データを更新” rel=”noopener”>データを更新 して毎月の結果を表示できます。
メモ このトピックでは、フォルダーからファイルを結合する方法について説明します。 SharePoint、Azure Blob Storage、Azure Data Lake Storageに格納されているファイルを結合することもできます。 プロセスは似ています。
__
始める前に
シンプルに保つ:
結合するすべてのファイルが、不要なファイルを含まない専用フォルダーに含まれていることを確認します。 それ以外の場合、フォルダー内のすべてのファイルと選択したサブフォルダーが、結合するデータに含まれます。
各ファイルには、一貫性のある列ヘッダー、データ型、列の数を含む同じスキーマが必要です。 列は、列名で一致する順序と同じ順序である必要はありません。
可能であれば、JSON ファイル、Excel ブック、Access データベースなど、複数のデータ オブジェクトを持つデータ ソースに関連しないデータ オブジェクトは避けてください。
__
テキスト、CSV、または XML ファイルからインポートする
これらの各ファイルは単純なパターンに従い、各ファイル内のデータのテーブルは 1 つだけです。
[データ] > [フォルダーから データ > を取得 する] >を選択します 。 [ 参照] ダイアログ ボックスが表示されます。
結合するファイルを含むフォルダーを見つけます。
フォルダー内のファイルの一覧が、[フォルダー パスの> <] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
ダイアログ ボックスの下部にあるコマンドの 1 つを選択します (例: [ > の結合 ****] & 読み込み)。 「すべてのコマンドについて」セクションで説明されているその他 のコマンドがあります。
[ 結合 ] コマンドを選択すると、[ ファイルの結合] ダイアログ ボックスが表示されます。 ファイルの設定を変更するには、[ サンプル ファイル] ボックスから各ファイルを選択し、必要に応じて [ファイルの配信元]、[ 区切り記号]、[ データ型の検出] を設定します。 ダイアログ ボックスの下部にある [ エラーのあるファイルをスキップ する] チェック ボックスをオンまたはオフにすることもできます。
[OK] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
__
JSON からのインポート
[データ] > [フォルダーから データ > を取得 する] >を選択します 。 [ 参照] ダイアログ ボックスが表示されます。
結合するファイルを含むフォルダーを見つけます。
フォルダー内のファイルの一覧が、[フォルダー パスの> <] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
ダイアログ ボックスの下部にあるコマンドの 1 つを選択します (例: [結合 ]> [結合] & 変換)。 「すべてのコマンドについて」セクションで説明されているその他 のコマンドがあります。
Power Query エディターが表示されます。
- [値] 列は構造化 リスト 列です。 [ 展開 ] アイコンを選択し、[新しい行に展開] を選択します。
- Value 列が構造化 レコード 列になりました。 [ 展開 ] アイコンを選択します。 ドロップダウン ダイアログ ボックスが表示されます。
すべての列を選択したままにします。 [プレフィックスとして元の列名を使用 する] ボックスをオフチェック場合があります。 [OK] を選択します。
データ値を含むすべての列を選択します。 [ ホーム] を選択し、[ 列の削除] の横にある矢印を選択し、[ その他の列の削除] を選択します。
[ ホーム ]> [ & 読み込みを閉じる] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
__
Excel または Access からインポートする
これらの各データ ソースには、インポートする複数のオブジェクトを含めることができます。 Excel ブックには、複数のワークシート、Excel テーブル、または名前付き範囲を含めることができます。 Access データベースには、複数のテーブルとクエリを含めることができます。
[データ] > [フォルダーから データ > を取得 する] >を選択します 。 [ 参照] ダイアログ ボックスが表示されます。
結合するファイルを含むフォルダーを見つけます。
フォルダー内のファイルの一覧が、[フォルダー パスの> <] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
ダイアログ ボックスの下部にあるコマンドの 1 つを選択します (例: [ > の結合 ****] & 読み込み)。 「すべてのコマンドについて」セクションで説明されているその他 のコマンドがあります。
[ファイルの結合] ダイアログ ボックスで、次 の手順を 実行します。
[ サンプル ファイル ] ボックスで、クエリの作成に使用するサンプル データとして使用するファイルを選択します。 オブジェクトを選択することも、1 つのオブジェクトだけを選択することもできません。 ただし、複数を選択することはできません。
多数のオブジェクトがある場合は、[Search] ボックスを使用して、オブジェクトまたは [表示オプション] と [更新] ボタンを使用してリストをフィルター処理します。
ダイアログ ボックスの下部にある [ エラーのあるファイルをスキップ する] チェック ボックスをオンまたはオフにします。
[OK] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
__
[ファイルの結合] コマンドを使用する
柔軟性を高めるために、[ファイルの結合] コマンドを使用して、Power Query エディター内のファイルを明示的に結合 できます。 たとえば、ソース フォルダーにファイルの種類とサブフォルダーが混在しており、同じファイルの種類とスキーマを持つ特定のファイルをターゲットにしたいが、他のファイルをターゲットにしたくないとします。 これにより、パフォーマンスが向上し、変換が簡略化されます。
[データ] > [ファイル > フォルダーからデータ > を取得****する] を選択します 。 [ 参照] ダイアログ ボックスが表示されます。
結合するファイルを含むフォルダーを見つけて、[ 開く] を選択します。
フォルダーとサブフォルダー内のすべてのファイルの一覧が、[ フォルダー パス >< ] ダイアログ ボックスに表示されます。 必要なすべてのファイルが一覧表示されていることを確認します。
下部にある [ データの変換] を選択します。 Power Query エディターが開き、フォルダー内のすべてのファイルとサブフォルダーが表示されます。
目的のファイルを選択するには、拡張機能やフォルダー パスなどの列をフィルター処理します。
ファイルを 1 つのテーブルに結合するには、各バイナリ(通常は最初の列) を含む [コンテンツ] 列を選択し、[ホーム] > [ファイルの結合] を選択します。 [ ファイルの結合 ] ダイアログ ボックスが表示されます。
Power Queryは、適切なコネクタを使用して一致する列を識別するために、既定ではリスト内の最初のファイルであるサンプル ファイルを分析します。
サンプル ファイルに別のファイルを使用するには、[ サンプル ファイル ] ドロップダウン リストからファイルを選択します。
必要に応じて、下部にある [ Skip files with error s]\(エラーが発生したファイルをスキップする\) を選択して、結果からこれらのファイルを除外します。
[OK] を選択します。
結果
Power Queryは、各ファイルのデータをワークシートに統合するためのクエリを自動的に作成します。 作成されるクエリ ステップと列は、選択したコマンドによって異なります。 詳細については、「 すべてのクエリについて」セクションを参照してください。
__
すべてのコマンドについて
選択できるコマンドがいくつかあり、それぞれに異なる目的があります。
データの結合と変換 すべてのファイルをクエリと結合し、Power Query エディターを起動するには、[結合 ]> [データの結合と変換] を選択します。
結合と読み込み [サンプル ファイル] ダイアログ ボックスを表示するには、クエリを作成し、ワークシートに読み込み、[結合 ]> [結合と読み込み] を選択します。
結合と読み込み [サンプル ファイル] ダイアログ ボックスを表示するには、クエリを作成し、[インポート] ダイアログ ボックスを表示し、[結合 ]> [結合] と [読み込み] を選択します。
負荷 1 つの手順でクエリを作成し、ワークシートに読み込むには、[ 読み込み ]> [読み込み] を選択します。
読み込み対象 1 つの手順でクエリを作成し、[ インポート] ダイアログ ボックスを表示するには、[ 読み込み ]> [読み込み 先] を選択します。
データの変換 1 つの手順でクエリを作成し、Power Query エディターを起動するには、[データの変換] を選択します。
__
すべてのクエリについて
ただし、ファイルを結合すると、[ヘルパー クエリ] グループの下の [ クエリ] ウィンドウにいくつかのサポート クエリが作成されます。
Power Queryは、サンプル クエリに基づいて "サンプル ファイル" クエリを作成します。
"ファイルの変換" 関数クエリでは、"Parameter1" クエリを使用して、各ファイル (またはバイナリ) を "サンプル ファイル" クエリへの入力として指定します。 このクエリでは、ファイルの内容を含む Content 列も作成され、構造化 レコード 列が自動的に展開され、列データが結果に追加されます。 "ファイルの変換" クエリと "サンプル ファイル" クエリがリンクされているため、"サンプル ファイル" クエリの変更が "ファイルの変換" クエリに反映されます。
最終的な結果を含むクエリは、"その他のクエリ" グループにあります。 既定では、ファイルをインポートしたフォルダーの名前が付けられます。
さらに調査するには、各クエリを右クリックし、[ 編集] を選択して各クエリ ステップを調べ、クエリがどのように連携しているかを確認します。
関連項目
target=”_blank” title=”Power Query for Excel のヘルプ” rel=”noopener”>Power Query for Excel のヘルプ