// コメントを使う
Power Query(M言語)を実務で使うとき、コメントを書く習慣はクエリ品質を大きく向上させる重要テクニックです。 M言語のコメントはとてもシンプルですが、使い方を理解していないと「読みにくいクエリ」「保守しづらいクエリ」になってしまいます。 ここでは、初心者でも迷わず使えるように、// コメントの書き方をステップバイステップで解説します。
コメントは「//」で書く
M言語のコメントはとてもシンプル
M言語では、//(ダブルスラッシュ) を使ってコメントを書きます。 行頭でも行末でも使えます。
// 売上テーブルを読み込む
Source = Excel.CurrentWorkbook(){[Name="売上"]}[Content],
Filtered =
Table.SelectRows(Source, each [金額] > 1000), // 金額が1000より大きい行だけ残す
Power Query// より右側はすべてコメントとして扱われ、処理には影響しません。
コメントを書く目的
コメントは「処理の意図」を残すために書く
初心者がやりがちなのは「コードの説明」をコメントに書くことです。 しかし、コードは見れば処理内容が分かります。 コメントで残すべきは “なぜその処理をしたのか” です。
悪い例(処理の説明だけ)
// 金額列を2倍にする
Power Query良い例(意図が分かる)
// 金額列は税抜なので、税込計算のために2倍にする
Power Query実務では「意図」が分かるコメントが圧倒的に役立ちます。
コメントの書き方をステップバイステップで理解する
ステップ1:処理内容を日本語で一言にする
例: 「顧客コードの前後の空白を削除する」
ステップ2:その処理を行う理由を書く
例: 「マスタと結合するために、コード表記を統一する必要がある」
ステップ3:コメントとして書く
// 顧客コードの表記ゆれを除去(マスタ結合のため表記統一)
TrimmedCustomerCode =
Table.TransformColumns(Source, {{"顧客コード", Text.Trim, type text}})
Power Queryこれで、処理の意図が明確になります。
コメントの種類
行頭コメント
// 売上テーブルを読み込む
Source = Excel.CurrentWorkbook(){[Name="売上"]}[Content],
Power Query行末コメント
Filtered = Table.SelectRows(Source, each [金額] > 1000), // 高額行だけ残す
Power Query複数行コメント
M言語には /* ... */ のようなブロックコメントはありません。 複数行コメントを書きたい場合は、行頭に // を並べます。
// 顧客コードの表記ゆれを修正する
// ・前後の空白を削除
// ・全角→半角に統一
// ・NULLは空文字に変換
CleanedCustomerCode = ...
Power Query実務でよく使うコメントテンプレート
データ読み込み
// Excelの売上テーブルを読み込む
Power Queryクレンジング
// 顧客コードの表記ゆれを除去(トリム+全角→半角)
Power Queryフィルタ
// 金額が0以下の行は不正データとして除外
Power Query結合
// 顧客マスタと結合して顧客名を付与
Power Queryエラー処理
// 必須項目が未入力の行をエラーとして分離
Power Queryログ
// クレンジング結果の件数をログとして出力
Power Queryコメントを付けるときの深掘りポイント
コメントは「未来の自分」へのメッセージ
数週間後に自分が読み返したとき、 「なぜこの処理をしたのか?」が分かるように書くことが重要です。
コメントは“処理の意図”を書く
処理内容はコードを見れば分かるので、 コメントは「なぜその処理が必要なのか」を書くと価値が高まります。
コメントは短すぎても長すぎてもダメ
理想は 1〜2行で意図が伝わるコメントです。
コメントはステップ名とセットで考える
ステップ名が分かりやすいほど、コメントは短くて済みます。
例:
// 顧客コードの表記ゆれを除去
NormalizedCustomerCode = ...
Power Queryコメント付きの実務向けコード例
let
// 売上データを読み込む
Source = Excel.CurrentWorkbook(){[Name="売上"]}[Content],
// 顧客コードの表記ゆれを修正(トリム+全角→半角)
NormalizedCustomerCode =
Table.TransformColumns(Source, {{"顧客コード", Text.Trim, type text}}),
// 金額が0以下の行は不正データとして除外
FilteredValidRows =
Table.SelectRows(NormalizedCustomerCode, each [金額] > 0),
// 顧客マスタと結合して顧客名を付与
MergedCustomerMaster =
Table.NestedJoin(
FilteredValidRows,
{"顧客コード"},
CustomerMaster,
{"顧客コード"},
"Customer",
JoinKind.LeftOuter
)
in
MergedCustomerMaster
Power Queryコメントがあるだけで、処理内容が一目で理解できます。
まとめ:コメントは“実務品質”を決める最重要テクニック
コメントを書くことで、次のメリットが得られます。
- クエリの意図が明確になる
- 保守性が向上する
- 他の人が読めるクエリになる
- 自分が後から読み返しても迷わない
Power Query を実務で使うなら、コメントを書く習慣は必須です。

