複数シートに分散したデータを集計する際、Power Query でシートごとに読み込む手間を削減し、一括で縦方向に結合すると作業効率が大幅に向上いたします。本記事では、外部ブック内のシートをまとめて取得し、特定のシート(例: Summary)を除外したうえで結合する M コードの例をご紹介いたします。
目次
前提条件
| 項目 | 内容 |
|---|---|
| 対象ブック | C:\Data\ReportSheets.xlsx |
| 除外シート | Summary |
| シート構成 | すべて同一列構造(例: Date, SlipNo, Amount など) |
| 対応 Excel | Microsoft 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 引数に渡すことで列順を強制的にそろえています。 |
操作手順
- Power Query エディターを開く
- Excel メニュー「データ」タブ →「データの取得」→「ファイル」→「Excel ブック」を選択し、
ReportSheets.xlsxを指定いたします。 - ナビゲーターで任意のシートを一つ選択し、右下の「データの変換」をクリックしてエディターを起動いたします。
- Excel メニュー「データ」タブ →「データの取得」→「ファイル」→「Excel ブック」を選択し、
- 詳細エディターに M コードを貼り付ける
- エディター上部「ホーム」リボン →「詳細エディター」を開き、既存コードをすべて削除して上記 M コードを貼り付けます。
- 「完了」を押すと、プレビューに対象シートがすべて縦方向に連結された結果が表示されます。
- 読み込み方法を選択する
- プレビューを確認後、「閉じて読み込む」をクリックし、シートの指定セルまたは接続のみとして保存します。
応用例
| 要件 | 実装例 |
|---|---|
| 複数シートを動的にフィルター | Text.StartsWith([Name], "2025") で年ごとに絞り込むなど、Text.* 関数を組み合わせます。 |
| 数値列を一括で型変換 | Table.TransformColumnTypes を追加し、{"Amount", type number} のように列と型を指定します。 |
| 重複行の削除 | 結合後に Table.Distinct を適用し、一意行のみ残します。 |
まとめ
Excel.WorkbookとTable.Combineを組み合わせることで、シートをまたいだデータを簡単に一括集計できます。- 除外条件や列型変換を M コードに含めておくと、Power Query の更新ボタンを押すだけで常に最新データへ更新可能です。
- 年度ごとや部署ごとにシートを分けているブックでも、この方法を用いればレポート作成や分析作業を効率化できます。
副業から独立まで「稼げる」Webスキルを習得する(PR)
ここまで読んでいただきありがとうございます。 最後に宣伝をさせてください。
「副業を始めたいが、何から手をつければいいかわからない」「独学でスキルはついたが、収益化できていない」という悩みを持つ方には、マンツーマン指導のWebスクール**「メイカラ」**が適しています。
このスクールは、単に技術を教えるだけでなく、**「副業として具体的にどう稼ぐか」**という実務直結のノウハウ提供に特化している点が特徴です。
講師陣は、実際に「副業Webライターから1年で独立して月収100万円」を達成したプロや、現役で利益を出し続けているブロガーなど、確かな実績を持つプレイヤーのみで構成されています。そのため、机上の空論ではない、現場で通用する戦術を学ぶことができます。
副業に特化した強み
- 最短ルートの提示: 未経験からでも実績を出せるよう、マンツーマンで指導。
- AI活用の習得: 副業の時間対効果を最大化するための、正しいAI活用スキルも網羅。
- 案件獲得のチャンス: 運営がWebマーケティング会社であるため、実力次第で社内案件の紹介など、仕事に直結する可能性があります。
受講者の多くは、「在宅でできる仕事を探している」「副業を頑張りたい」という20代・30代・40代が中心です。
受講前には、講師による無料説明が行われます。無理な勧誘はなく、自分に合った副業スタイルやプランを相談できるため、まずは話を聞いてみることから始めてみてはいかがでしょうか。
