shikumika’s diary

日々の事務作業で手間なことを簡単にできる仕組み(自動化、方法など)、困ったことの解決方法を調べた備忘録

【Power Query】ブック内にある複数シートの表を一つのシートに結合する方法

Power Queryで、ブック内にある複数シートの表を一つのシートに結合する方法の備忘録。Power Queryで作成する「クエリ」と「結合したいシート」も同じブック内にしたい場合と、クエリ自体は別ブックでもよい場合で若干手順が異なる。

内容:

アウトプットイメージ

複数のシートに同様のレイアウト(列の並び)でデータあり、一つのシートに結合する。

複数のシートに同様のレイアウト(列の並び)でデータあり

結合するデータの状態

実施手順

「クエリ」と「結合したいシート」も同じブック内にしたい場合

基本の手順は次のとおり。

結合したいデータ範囲のクエリを作成する。

結合したいデータ範囲を選択後、Excelの「データ」タブの「テーブルまたは範囲から」でクエリを作成する。一つずつ「接続の作成のみ」で結合したいシートのクエリを作成する。

Power Queryエディターで「クエリの追加」をクリック

メニューにある「クエリの追加」をクリック

クエリの追加
結合したいテーブル(クエリ名)を「追加するテーブル」に設定

結合したいテーブルを「追加するテーブル」に設定する

追加の設定画面

「OK」で確定すると、設定した複数シートの表を一つのシートに結合できる。

この方法では、

  • 元の表はテーブル形式となる
  • 結合したいシートが増えた場合、簡単であるが「追加するテーブル」に追加の設定が必要となる。

といった特徴がある。

なお、元の表をテーブル形式(もしくは「名前の定義」)とする必要はあるが、

M 言語のセクション - PowerQuery M | Microsoft Learnを使用した方法もある。

詳しくは次のサイトが参考になりました。

marshal115.hatenablog.com

なお、クエリ自体は別ブックでもよい場合は、次の方法でシート追加時の都度設定は不要

 

クエリ自体は別ブックでもよい場合

「データ」タブから結合したいシートがあるブックを開く

空白のブックなどから、「データ」タブから「Excelブックを開く」を選択する。

「データ」-「ファイルから」-「Excelブックを開く」のクリック

「データ」タブから「Excelブックを開く」を選択する。

ファイル選択の画面が起動するので、結合したいシートがあるブックを選択する

ファイル選択の画面で、ファイルを選択する

結合したいシートがあるブックを選択する
シートではなく、フォルダのアイコンを選択する

ファイル内のシートが表示されるが、フォルダのアイコンを選択し、「データの変換」をクリックする。

もし、ここでシートを選択すると、結合したいシート名の変更や追加時等に都度設定が必要となる。

シートではなく、フォルダのアイコンを選択する

ナビゲーターの設定画面

上記で「データの変換」をクリックすると、次の画面になる。

Name欄とItem欄に「シート名」やDataに「Tabel」のデータがある一覧が表示される。

「Tabel」に各シートのデータが入っている。

シート名やDataにTabelデータがある一覧が表示される

「データの変換」の実行後
「Name」と「Date」の項目以外を削除する

シート名に該当する「Name」と表の中身である「Date」以外を削除する。

なお、シート名に該当するものとして「Name」と「Item」があるが、詳細な違いの情報を確認できなかった。どちらでも良さそうだが「Name」をとりあえず削除している。

一つの表に結合するときにシート名の情報も不要であれば、「Date」以外を削除する。

「他の列の削除」で「Name」と「Data」以外を削除

「Name」と「Data」の削除
「Date」を展開する

「Date」列の右側のアイコンをクリックし、「Table」を展開する。

もし、読み込み不要なシートがある場合は、フィルターで削除する。

「Date」フィールドの右側のアイコンをクリック

「Table」を展開する。

上記のクリックで、以下の画面となる。「元の列名をプレフィックスとして使用します」のチェックを外している。チェックをつけていると、展開するTableがあった列名(この事例では「Data」)が列名に付記されるが、好みや目的次第。

「元の列名をプレフィックスとして使用します」のチェックを外している

「Table」を展開の設定イメージ

上記で「OK」をクリックすると、次の画面になる。

以降は、余分なデータの削除や列名等を修正する。

複数シートがクエリで結合される

展開後のイメージ

以上、Power Queryで、ブック内にある複数シートの表を一つのシートに結合する方法の備忘録でした。

「複数シートの表を一つのシートに結合」が必要な場面は、元データの取得段階で一つのブックにシート保存作業をしていることも多いと思われます。

元々が別ブックにあるデータの場合は、次の複数のファイルを 1 つに結合する方法が便利です。

shikumika.org