Power Queryをデータの流れとして理解する

LWP | Power Queryをデータの流れとして理解する

LWP TECHNICAL ARTICLE | 183

Power Queryをデータの流れとして理解する

GUI・M言語・クエリ・依存関係を一つの全体像へつなぐ

Copyright © 2026 LWP 山中 一弘

本資料は、出典を明記いただければ、商用・非商用を問わず、ご自由に複製・改変・再配布していただけます。なお、著作権表示は改変せず、そのまま記載してご利用くださいますようお願いいたします。

記事要約

Power Queryは、列を削除したり、フィルターしたり、表を結合したりするGUIだけではありません。データへ接続し、必要な形へ変換する処理を作り、その処理を更新によって再実行できるようにする仕組みです。GUIで作った変換の背後では、M言語が使われます。

Power Queryの「クエリ」は、単なる保存済みテーブルではありません。実務的には、名前を持ったMの処理・式として捉えると全体像が見えます。クエリを評価した結果はtableとは限らず、list、record、function、number、textなどの値にもなります。また、あるクエリを別のクエリから名前で参照できるため、複数のクエリが依存関係を持ち、元データから完成データまでの流れを作ります。

この記事の到達点は、Power Queryを「便利なボタンの集合」ではなく、「データがどこから来て、どのクエリを通り、何になるのかを定義する仕組み」として理解することです。

本記事の対象とゴール

想定読者

  • Power Query Editorで取込、列削除、型変更、マージなどを経験している方

  • GUIの裏で何が起きているのか整理したい方

  • クエリ参照や依存関係を使い、処理を分けて設計したい方

本記事で得られること

  1. Power Query Editor、M言語、クエリの関係を説明できます。

  2. クエリを「表」ではなく、評価すると値になる名前付き処理として捉えられます。

  3. 追加、マージ、アンピボット、外部リンク置換、数式との使い分けを一つの判断軸で整理できます。

はじめに Power Query Editorは入口である

Power Queryを使い始めると、最初はPower Query EditorそのものがPower Queryに見えます。

列を削除する
フィルターする
データ型を変更する
列を追加する
マージする

そのため「Power QueryはExcelに付いているデータ加工GUI」と理解しがちです。この説明は間違いではありませんが、一部分です。

MicrosoftはPower Queryを、データ接続とデータ準備の技術として説明しています。現在の公式説明では、Power Queryの変換の背後でM言語が使われ、クエリで起きる処理は最終的にMで記述されます。

データソース
↓
Power Query Editorで操作
↓
Mで表現された変換
↓
読み込み結果

GUIはPower Queryを扱う入口であり、Power Query全体ではありません。

第1章 Power Queryは処理を保存して再実行する

1.1 手作業では結果を作る

毎月、次の作業をしているとします。

売上ファイルを開く
↓
不要列を削除する
↓
列名を変更する
↓
商品マスタと突合する
↓
対象行だけ残す
↓
別シートへ貼り付ける

通常の手作業では、完成したデータを作ります。翌月には同じ操作をもう一度行います。

1.2 Power Queryでは変換の定義を作る

Power Queryでは、処理の流れをクエリとして定義します。

売上データ
↓
不要列削除
↓
列名変更
↓
商品マスタとの結合
↓
対象行抽出
↓
完成データ

翌月は、元データを差し替え、クエリを更新します。保存している中心は加工後の値だけではなく、「どう加工するか」という再実行可能な処理です。

第2章 GUIの裏側ではMが処理を表現する

2.1 GUI操作はMの式になる

売上列を整数型に変え、売上が0より大きい行だけを残すとします。概念的には、次のMコードで表せます。

let
    Source = 売上データ,
    型変更 = Table.TransformColumnTypes(Source, {{"売上", Int64.Type}}),
    行抽出 = Table.SelectRows(型変更, each [売上] > 0)
in
    行抽出

この段階でMの文法をすべて覚える必要はありません。まず見るべきなのは、GUI操作とMが別々の処理ではないことです。

GUI操作
↓
Mによる変換の定義
↓
結果

2.2 「GUIかMか」の二択ではない

GUI利用者とM利用者を別世界として考える必要はありません。GUIで変換を作り、必要な箇所だけMで調整できます。

最初の一歩はGUIを捨てることではなく、[詳細エディター]や数式バーを開き、操作がMのステップとして積み上がっていることを確認することです。

第3章 クエリを「テーブル一覧」だと思わない

3.1 クエリは名前を持った処理として読む

Power Queryの左側には、次のような名前が並びます。

売上_RAW
商品マスタ
売上_整形
売上_完成

これらは表の一覧に見えます。しかしMでは、式を評価すると一つの値が得られます。実務的にはクエリを、次のように捉えると理解しやすくなります。

クエリ
= 名前を持ったMの処理・式
↓
評価すると値になる

売上_RAW は「表が置いてある場所」というより、「売上_RAW という名前の処理を評価すると値が得られる」と読みます。

3.2 クエリの結果はtableとは限らない

Mの式は、さまざまな種類の値を返せます。

100

これはnumber値です。

[税率 = 0.1, 年度 = 2026]

これはrecord値です。

(x) => x * 0.1

これはfunction値です。

Power Query Editorではtableを扱う場面が多いため、「クエリ=テーブル」に見えます。しかしクエリの評価結果は、table、list、record、function、number、textなどになり得ます。

第4章 クエリは別のクエリを名前で参照できる

4.1 ファイルやシートを再指定せずに使う

売上_RAW というクエリを、別のクエリから参照できます。

let
    Source = 売上_RAW
in
    Source

売上_RAW はファイル名でもシート名でもなく、別のクエリの名前です。

MicrosoftのPower Queryには[参照]操作があり、既存クエリを基に新しいクエリを作れます。参照先は元クエリの処理を利用するため、元クエリの変更は下流にも影響します。

4.2 参照は結果の単純キャッシュではない

参照クエリを増やすときには注意があります。MicrosoftのPower BI向けガイダンスでは、複数のクエリが同じ元クエリを参照しても、元クエリの結果が一度だけ取得され、全参照先で必ず再利用されるとは限らないと説明されています。

参照は処理構造を分ける仕組みです。性能上の共有キャッシュだと決めつけず、データソース、folding、評価回数を別に確認します。

第5章 依存関係を見ると全体像が現れる

5.1 クエリは独立した一覧ではない

次のような構造を考えます。

                 商品マスタ
                     │
                     ▼
売上_RAW → 売上_整形 → 売上_完成

これは、どのクエリがどのクエリを利用して最終結果を作るかを表します。Excel版Power Queryでは[表示]から[クエリの依存関係]を開き、関係を図で確認できます。

5.2 表ではなく流れを見る

Excelではセル、シート、表へ目が向きます。Power Queryでは次を追います。

元データ
↓
取得
↓
整形
↓
結合
↓
完成

クエリ名だけを見るのではなく、データがどこから来て、どの処理を通り、どこへ読み込まれるかを見ます。

第6章 外部データだけでなく、表から表へ変換できる

Power QueryはCSV、データベース、別Excelブックなどの外部データ取得に強い仕組みです。同時に、現在のExcelブックにあるExcelテーブル、名前付き範囲、動的配列からもクエリを作れます。

入力用Excelテーブル
↓
Power Query
↓
変換
↓
公開用Excelテーブル

したがってPower Queryは「外からExcelへデータを持ってくる機能」だけではありません。表形式データを別の表形式へ変換する仕組みとして使えます。

第7章 実務で強い四つの処理

7.1 複数データの縦結合

東京、大阪、名古屋の売上を全社売上へまとめるなら、[クエリの追加]を使えます。

東京売上
大阪売上
名古屋売上
↓
全社売上

追加は、列名を基準に複数tableの行を連結します。列構成が異なる場合、片方にない列は結果でnullになります。

7.2 マスタ結合と突合

売上データの商品コードへ商品名を付ける処理は、[マージ]で表現できます。

売上 + 商品マスタ
↓
共通列で結合
↓
商品情報付き売上

Left Antiなどの結合方法を使えば、一方に存在し、もう一方に存在しない行を抽出できます。値取得だけでなく、請求と入金、受注と出荷などの突合にも使えます。

7.3 アンピボット

人が読むための横持ち表を、処理しやすい縦持ちへ変換します。

商品 1月 2月 3月
A 100 120 130
B 200 210 220

アンピボット後は次の形です。

商品 月 売上
A 1月 100
A 2月 120
A 3月 130
B 1月 200
B 2月 210
B 3月 220

Power Queryは見栄えを作るより、データの形を変える処理に向いています。

7.4 外部リンクをデータ取得へ置き換える

従来のExcelでは、外部ブックへのセル参照が大量に作られることがあります。

='C:\売上\[売上.xlsx]Sheet1'!A1

Power Queryでは、セルを一つずつ参照せず、売上ブックの表全体をデータセットとして取得し、必要な行と列へ整形できます。

売上.xlsx
↓
Power Queryで取得
↓
整形
↓
完成テーブル

ただし、外部リンクをすべて置き換えるのではありません。セル変更へ即時追随する必要があるなら、数式の方が自然です。

第8章 スピル数式と競合させず役割を分ける

Microsoft 365では、FILTER、SORT、UNIQUE、VSTACK、HSTACK、TOCOL、TAKE、DROP、LET、LAMBDAなどにより、表の抽出や変形を数式でも行えます。

Power Queryと数式の境界は固定ではありません。基本像として、次の役割分担が分かりやすいでしょう。

Power Query
→ データを取得・整形・統合・突合する
 
Excel数式
→ 準備されたデータを計算・表示・分析する

たとえば、複数ファイルをPower Queryで一つの売上tableへ整え、そのtableをFILTERやSUMIFSで表示・分析します。

8.1 Power Queryが向く場面

  • 複数ファイルや複数tableを繰り返し統合する

  • 列構成やデータ型をそろえる

  • マスタと結合し、不一致を抽出する

  • 横持ちと縦持ちを変換する

  • 更新時に同じ変換を再実行する

8.2 数式やVBAが向く場面

  • 数セルだけを即時に計算する

  • 条件を変えながら結果をすぐ確認する

  • シート作成、書式、印刷、ファイル保存などExcelアプリを操作する

Power QueryはExcel操作の自動化全般ではなく、データ処理の定義を中心にした仕組みです。

第9章 全体像を一枚にする

データソース
Excel / CSV / 別ブック / フォルダー / データベース
               │
               ▼
Power Query Editor
GUI操作 → Mで表現された変換
               │
               ▼
売上_RAW → 売上_整形 ─┐
                       ├→ 売上_完成
商品マスタ ───────────┘
               │
               ▼
Excelテーブル / データモデル / その他の出力

この図で重要なのは、Power Query Editorだけを見ないことです。

  • 入力となるデータソース

  • 各クエリのMによる処理

  • クエリ間の参照と依存関係

  • 最後の読み込み先

これらを一つの流れとして見ます。

まとめ 表ではなくデータの流れを見る

Power Queryの理解は、次の順に深まります。

クエリ = 取り込んだ表
↓
クエリ = データ加工手順
↓
クエリ = 名前を持ったMの処理・式
↓
評価すると値になる
↓
別のクエリから名前で参照できる
↓
依存関係としてデータの流れを作る

初心者向けに一言で言えば、Power Queryは、データを取り込み、必要な形へ変換する処理を作り、その処理を何度でも再実行できるようにする仕組みです。

一歩進めれば、その処理はMで表現され、クエリとして名前を持ち、別のクエリから参照できます。

Power Queryを理解するときの視点を、「このボタンで何ができるか」から「このデータはどこから来て、どのクエリを通り、何になっているのか」へ移します。

表ではなく、データの流れを見る。

参考資料

  • Microsoft Learn「What Is Power Query?」

  • Microsoft Learn「Power Query M formula language introduction」

  • Microsoft Learn「Referencing Power Query queries」

  • Microsoft Support「Import data from data sources (Power Query)」

  • Microsoft Learn「Append queries」

  • Microsoft Learn「Merge queries overview」

出典メモ

  • 元原稿: C:\Users\hoehoe\Downloads\記事ネタmd\Power Queryとは何か――GUI利用者が全体像をつかむための20~30分講義・記事元ネタ.md

  • 元原稿の講義順、中心図、実務例を基に、公開記事として読める構成へ再編集しました。

  • Power Query、M、参照クエリ、追加、マージ、ブック内table取込に関する事実は、2026年8月21日にMicrosoft公式資料で確認しました。

  • 公式資料: https://learn.microsoft.com/en-us/power-query/power-query-what-is-power-query

  • 公式資料: https://learn.microsoft.com/en-us/powerquery-m/m-spec-introduction

  • 公式資料: https://learn.microsoft.com/en-us/power-bi/guidance/power-query-referenced-queries

  • 公式資料: https://support.microsoft.com/en-us/Excel/import-data-from-data-sources-power-query

  • 公式資料: https://learn.microsoft.com/en-us/power-query/append-queries

  • 公式資料: https://learn.microsoft.com/en-us/power-query/merge-queries-overview