Power Query でブック内のすべてのワークシートを取り込み、一括で結合する方法

複数シートに分散したデータを集計する際、Power Query でシートごとに読み込む手間を削減し、一括で縦方向に結合すると作業効率が大幅に向上いたします。本記事では、外部ブック内のシートをまとめて取得し、特定のシート(例: Summary)を除外したうえで結合する M コードの例をご紹介いたします。


目次

前提条件

項目内容
対象ブックC:\Data\ReportSheets.xlsx
除外シートSummary
シート構成すべて同一列構造(例: Date, SlipNo, Amount など)
対応 ExcelMicrosoft 365/2019/2016(Power Query 搭載版)

M コード(詳細エディターに貼り付け)

let
    // 対象ブックをバイナリとして読み込み
    BinaryFile  = File.Contents("C:\Data\ReportSheets.xlsx"),

    // ブック内のシート・テーブル一覧を取得
    AllObjects  = Excel.Workbook(BinaryFile, true),

    // Kind 列が "Sheet" かつ Name 列が "Summary" 以外を抽出
    SheetOnly   = Table.SelectRows(
        AllObjects,
        each ([Kind] = "Sheet" and [Name] <> "Summary")
    ),

    // 各シートの Data 列(テーブル本体)だけを取り出し、リスト化
    SheetTables = Table.Column(SheetOnly, "Data"),

    // 最初のシートから列名を取得し、他シートと合わせて結合
    ColHeaders  = Table.ColumnNames(SheetTables{0}),
    CombinedTbl = Table.Combine(SheetTables, ColHeaders)
in
    CombinedTbl

コードのポイント

ステップ説明
File.Contents外部 Excel ブックをバイナリ形式で読み込みます。ネットワークパスも同様に扱えます。
Excel.Workbookブック内のシート・テーブル・名前付き範囲の一覧をテーブル形式で返します。第 2 引数 true は列型を自動推定するオプションです。
シート抽出Table.SelectRows[Kind]="Sheet" を条件にシートのみ取得し、さらに [Name]<>"Summary" で除外シートを設定いたします。
列ヘッダーの統一結合前に Table.ColumnNames で最初のシートの列名を取得し、Table.Combine の第 2 引数に渡すことで列順を強制的にそろえています。

操作手順

  1. Power Query エディターを開く
    • Excel メニュー「データ」タブ →「データの取得」→「ファイル」→「Excel ブック」を選択し、ReportSheets.xlsx を指定いたします。
    • ナビゲーターで任意のシートを一つ選択し、右下の「データの変換」をクリックしてエディターを起動いたします。
  2. 詳細エディターに M コードを貼り付ける
    • エディター上部「ホーム」リボン →「詳細エディター」を開き、既存コードをすべて削除して上記 M コードを貼り付けます。
    • 「完了」を押すと、プレビューに対象シートがすべて縦方向に連結された結果が表示されます。
  3. 読み込み方法を選択する
    • プレビューを確認後、「閉じて読み込む」をクリックし、シートの指定セルまたは接続のみとして保存します。

応用例

要件実装例
複数シートを動的にフィルターText.StartsWith([Name], "2025") で年ごとに絞り込むなど、Text.* 関数を組み合わせます。
数値列を一括で型変換Table.TransformColumnTypes を追加し、{"Amount", type number} のように列と型を指定します。
重複行の削除結合後に Table.Distinct を適用し、一意行のみ残します。

まとめ

  • Excel.WorkbookTable.Combine を組み合わせることで、シートをまたいだデータを簡単に一括集計できます。
  • 除外条件や列型変換を M コードに含めておくと、Power Query の更新ボタンを押すだけで常に最新データへ更新可能です。
  • 年度ごとや部署ごとにシートを分けているブックでも、この方法を用いればレポート作成や分析作業を効率化できます。

副業から独立まで「稼げる」Webスキルを習得する(PR)

ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。

「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。

このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。

講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。

副業に特化した強み

  • 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
  • AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
  • 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。

受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。

受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。

ブログで稼ぎたいなら「メイカラ」

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

私が勉強したこと、実践したこと、してることを書いているブログです。
主に資産運用について書いていたのですが、
最近はプログラミングに興味があるので、今はそればっかりです。

目次