Power Query関数の基本と実践:Excelでデータ変換を自動化する最強ツール入門

Excelを使って大量のデータを整理する際、「毎回同じ作業を繰り返している」「関数やマクロで管理が大変」という悩みを持つ人は多いです。
そんなときに役立つのが Power Query(パワークエリ) です。
Power Queryでは、データの取得・整形・結合・変換などを自動化できるだけでなく、M言語という専用の関数を使うことで、柔軟で高度なデータ処理が可能になります。

この記事では、Power Queryで使える主要な関数と、実務で役立つ応用例をわかりやすく解説します。
関数を理解することで、Excelの手作業を大幅に減らし、ミスのない効率的なデータ管理を実現できます。


Power Queryとは?関数との関係を理解しよう

Power Queryとは、ExcelやPower BIに搭載されている データ変換ツール のことです。
CSVやExcelファイル、Webデータ、データベースなど、さまざまな外部ソースからデータを取り込み、整形して分析しやすい形にすることができます。

通常、Excelでは数式(関数)をセルに書き込みますが、Power Queryでは「手順」を記録していくイメージです。
ただし、Power Queryの内部では M言語(Power Query Formula Language) が使われており、これは「関数ベース」で動作します。

つまり、

  • 通常のExcel関数:セル内で1つの計算を行う
  • Power Query関数:データ全体に対して変換・処理を行う

という違いがあります。


Power Queryで使える関数の種類

Power Queryの関数は多岐にわたりますが、大きく以下のカテゴリに分かれています。

分類主な用途代表的な関数例
数値関数数値の計算・丸めなどNumber.Round, Number.Abs, Number.Power
テキスト関数文字列操作Text.Upper, Text.Lower, Text.Replace, Text.Contains
日付関数日付の抽出・加算などDate.AddDays, Date.Year, Date.MonthName
リスト関数配列やリスト処理List.Sum, List.Distinct, List.Count
テーブル関数テーブル操作Table.SelectRows, Table.AddColumn, Table.Group
レコード関数レコード(行)への操作Record.Field, Record.AddField
条件関数IF文など条件分岐if ... then ... else, Value.ReplaceType

Excelの関数と似ていますが、Power Queryでは 列や行単位ではなく、テーブル全体に適用する ことが多い点が特徴です。


実務でよく使うPower Query関数ベスト5

① Text.Replace:文字列の置換

指定した文字列を別の文字に置き換える関数です。

Text.Replace([商品名], "旧", "新")

この例では、「旧」という文字を「新」に置き換えます。
Excelの SUBSTITUTE 関数と似ていますが、Power Queryではテーブル全体にまとめて適用できます。


② Date.AddDays:日付に日数を加算

Date.AddDays([出荷日], 7)

出荷日から7日後の「到着予定日」を算出する場合などに便利です。
Date.AddMonthsDate.AddYears も同様に使えます。


③ Table.SelectRows:条件に合う行だけ抽出

Table.SelectRows(テーブル名, each [売上] > 10000)

この関数は、テーブルから条件を満たす行のみを抽出します。
SQLでいうところの「WHERE句」のような役割を果たします。


④ Table.AddColumn:新しい列を追加

Table.AddColumn(テーブル名, "税込価格", each [価格] * 1.1)

既存の列から計算結果をもとに新しい列を作ることができます。
「税抜価格」から「税込価格」を作るような処理に最適です。


⑤ List.Distinct:重複の削除

List.Distinct(テーブル名[顧客名])

顧客名のリストから重複を除いて、ユニークな一覧を取得します。
Excelの「重複の削除」よりも高速かつ再利用可能です。


Power Query関数の構文を理解しよう

Power QueryのM言語では、関数は基本的に次のような構文をとります。

関数名(引数1, 引数2, ...)

複数の関数を組み合わせることで、より高度な処理が可能です。
例として、日付列から「年月」だけを抽出するには次のように書きます。

Text.From(Date.Year([日付])) & "-" & Text.PadStart(Text.From(Date.Month([日付])), 2, "0")

この式では、

  1. Date.YearDate.Month で日付から年と月を取り出す
  2. Text.From で文字列化する
  3. Text.PadStart で月を2桁に揃える(例:03月 → “03”)
  4. それらを「-」で連結する

という流れになっています。


Power Query関数の実務活用例

◆ 売上データの集計を自動化

例えば、毎月の売上CSVをPower Queryで取り込み、
「商品カテゴリ別の売上合計」を自動集計することができます。

手順は次の通りです。

  1. 各月のファイルを同じフォルダに保存
  2. 「データの取得」→「フォルダーから」読み込み
  3. Power Queryで Table.Group を使ってカテゴリごとに合計
  4. Excelシートに出力しておけば、次月も「更新」ボタン一つで集計完了

関数例:

Table.Group(テーブル名, {"カテゴリ"}, {{"売上合計", each List.Sum([売上]), type number}})

◆ 不要な空白・文字を削除

アンケートや顧客リストなどで、空白や「様」など余計な文字が混ざっている場合、
次のように簡単に整えられます。

Text.Trim(Text.Replace([氏名], "様", ""))

Text.Trim で前後の空白を除去し、Text.Replace で文字列を置き換えます。


◆ データの更新を自動反映

Power Queryの最大の魅力は「更新の自動化」です。
一度関数と変換ステップを設定しておけば、
新しいデータを追加した際に「更新」ボタンを押すだけで最新データが反映されます。

Excel関数のように壊れたり、マクロのように修正が必要になることも少なく、
メンテナンス性が非常に高いのが特長です。


Power Query関数を覚えるコツ

Power Queryの関数は多く、最初は難しく感じるかもしれません。
しかし、次の3つのポイントを意識すればスムーズに習得できます。

  1. 「適用されたステップ」を見る
     GUIで操作した内容が、自動的にM言語の式として表示されます。
     「数式バー」をONにしておけば、どんな関数が使われたか確認可能です。
  2. Excel関数と対応づけて覚える
     Text.ReplaceSUBSTITUTE
     Date.YearYEAR
     List.SumSUM
     のように、対応するExcel関数を意識すると理解しやすくなります。
  3. サンプルデータで試す
     テーブルを小さくして試行錯誤しながら学ぶと、エラーの原因もつかみやすくなります。

Power Query関数でできることの幅を広げよう

Power Query関数を理解すれば、次のような業務改善が可能になります。

  • 日報・週報の自動集計
  • 複数ファイルの一括統合
  • 重複データや誤記の自動修正
  • 売上分析・顧客分析の効率化

これらはVBAやマクロを使わずに実現できるため、
非プログラマーでも自動化の世界に踏み込める点が魅力です。


まとめ

Power Queryは、Excel作業を「手作業」から「自動化」へと進化させる強力なツールです。
その中核となるのが M言語の関数 であり、これを理解すれば、
データの整形・加工・統合・集計が劇的にスピードアップします。

最初は難しく見えても、
「ステップを記録 → 数式を見る → 少しずつ応用する」
このサイクルを繰り返すことで、確実にレベルアップできます。

日々のExcel作業にPower Queryを取り入れて、
よりスマートで正確なデータ処理を実現していきましょう。

タイトルとURLをコピーしました