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の裏で何が起きているのか整理したい方
クエリ参照や依存関係を使い、処理を分けて設計したい方
本記事で得られること
Power Query Editor、M言語、クエリの関係を説明できます。
クエリを「表」ではなく、評価すると値になる名前付き処理として捉えられます。
追加、マージ、アンピボット、外部リンク置換、数式との使い分けを一つの判断軸で整理できます。
はじめに 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
