【初心者向け】Power Queryの使い方紹介!Excel&Power BI対応!

【初心者向け】Power Queryの使い方紹介!Excel&Power BI対応!
Excelで毎月同じ集計を手作業でやっていませんか。

CSVを開いて、不要な列を消して、表をコピペして、関数を入れて…。この作業、Power Queryなら最初の1回設定するだけで、あとはボタン1つで終わります。

そんな中で悩むことは、

・Power Queryの名前は聞くけど、何ができるのか分からない
・用語がむずかしくて、最初の一歩でつまずいた
・ExcelとPower BIで何が違うのか知りたい

ですね。

この記事では、Excelをベースに、サンプルデータを使った一連の流れを順番に解説します。

後半ではPower BI編として、同じ考え方がそのまま使えることも紹介します。

今回はそんなお悩みを解決する、

・Power Queryとは(Excelとの違い)
・基本の4ステップ(接続・変換・組合わせ・読み込み)
・サンプルデータで実践(3シート結合→マージ→集計)
・自動更新の設定方法
・つまずきポイント10選
・Power BI編(同じクエリを再利用する)

についてまとめます!

Power Queryとは

Power Query(パワークエリ)は、データの取得・整形・結合を自動化するツールです。

Excelの「データ」タブにある「データの取得」から使い始められます。

Excelの関数・ピボットとの違い

Excelの機能との違いは以下の通りです。

項目 Excelの関数・ピボット Power Query
作業の記録 残らない(毎回やり直し) 手順が保存される
データ量 数百万行は重い 得意(必要な分だけ読み込める)
元データの扱い 直接編集してしまう 元データは変更しない(参照のみ)
複数ファイルの統合 手作業 フォルダー指定で一括
セルの書式 自由に設定できる できない(値のみ)
向いている作業 単発の計算・見た目の調整 毎月繰り返す集計

Power Queryが向いている人・向いていない作業

Power Queryの使いどころは以下の通りです。

向いている 向いていない
毎月同じ手順で集計している 1回だけの簡単な計算
複数のCSVやシートをまとめたい セルの色や罫線を整えたい
データのクリーニングを自動化したい セルを1つずつ手で修正したい
元データを壊さずに分析したい マクロで自由に制御したい

基本の4ステップ

# ステップ やること
1 接続(Connect) Excel・CSV・Web・データベースなどからデータを取得する
2 変換(Transform) 不要な行・列の削除、型の変更、値の置換などを行う
3 組合わせ(Combine) 複数のデータを縦に連結(追加)/横に結合(マージ)する
4 読み込み(Load) Excelの表・ピボット・データモデルへ出力する

この4ステップは、「適用したステップ」としてすべてクエリとして記録されます。

サンプルファイルを用意する

次のサンプルを使ってPower Queryの実装をしてみましょう。

シート/ファイル 内容
4月・5月・6月 日付・商品コード・担当・数量・単価(単価は空欄)
商品マスタ 商品コード・商品名・カテゴリ・標準単価
7月分.csv 翌月の追加データ(CSV取り込みの演習用)
サンプルの売上データ(4月シート)

4月シートのデータ(コピペ用)

日付 商品コード 担当 数量 単価
2026/4/3 P001 佐藤 2 (空欄)
2026/4/5 P002 鈴木 10 (空欄)
2026/4/8 P003 高橋 3 (空欄)
2026/4/12 P004 田中 5 (空欄)
2026/4/18 P005 佐藤 1 (空欄)
2026/4/22 P006 鈴木 8 (空欄)
2026/4/25 P001 高橋 1 (空欄)
2026/4/28 P002 田中 15 (空欄)

商品マスタ(コピペ用)

商品コード 商品名 カテゴリ 標準単価
P001 ノートPC PC本体 148,000
P002 マウス 周辺機器 3,980
P003 モニター PC本体 32,800
P004 キーボード 周辺機器 6,800
P005 プリンタ 周辺機器 45,800
P006 USBハブ 周辺機器 2,480

実践①:データの取得(接続)

データタブのデータの取得メニュー データの取得メニューを開いた状態

「ファイルから」→「Excel ブックから」を選びます。

ナビゲーターでシートを選択

ナビゲーターで4月シートを選びます。

このまま読み込みができますが、1行目の行タイトルが変ですので修正します。

 

実践①-2:CSVから取得する場合

ExcelブックではなくCSVファイルから取り込むときは、次の流れになります。

4月と同じような形式で7月分に変えたデータをCSVファイルで書き出して、準備しましょう。

CSVファイルの選択

「データの取得」→「ファイルから」→「テキスト/CSVから」でファイルを選びます。

CSVのプレビュー(文字コードと区切り記号)
設定 確認すること
ファイル オリジン 文字コード(例:65001:Unicode(UTF-8)/932:日本語(Shift_JIS))
区切り記号 カンマ/タブ/セミコロン
ナビゲーターでテーブルを選択

最後にナビゲーターで取り込むテーブルを選び、「データの変換」を押します。

読み込むと、Excelの表として展開されます。

読み込まれたCSVのデータ
CSVで文字化けする場合
ファイル オリジンが「UTF-8」のまま日本語が化けている場合は、932(日本語)に変更してください。
逆にShift_JISのファイルをUTF-8として読むと化けます。

実践②:変換(整形する)

サンプルは1行目がタイトル、2行目が空行、3行目が見出しになっていましたね。
タイトルが3行目になるよう修正変換したいと思います。

「データの変換」をクリックします。

Power Query エディターが開きます。

次に2回「1行目をヘッダーとして使用」ボタンを押します。

1行目をヘッダーとして使用

はい、タイトルが修正されましたね。

「1行目をヘッダーとして使用」は2回押すこともある
このボタンは「いまの1行目」をヘッダーにする動きをします。

そのため、1行目がタイトル・2行目が見出しのシートでは、
1回目でタイトル行がヘッダーになり、2回目を押すと2行目(本来の見出し)がヘッダーになります。

そもそもタイトル行が不要な場合は、あわせて「行の削除」→「先頭行の削除」で消しておくとすっきりします。

また、ほかにもいろいろな方法で調整ができます。

# 操作 場所
1 先頭の2行を削除 ホーム → 行の削除 → 先頭行の削除(2回)
2 1行目をヘッダーとして使用 ホーム → 最初の行をヘッダーとして使用
3 不要な列を削除 列を右クリック → 列の削除
4 型を変更 列ヘッダー左のアイコン → 日付/整数など
5 空白の除去 列を選んで 変換 → 書式 → 簡易設定 → 前後の空白をトリム
型の変更は必ず行う
「変更された型」ステップは自動で入りますが、意図した型になっているかも必ず確認してください。

数値がテキストのままだと、後の集計やマージでエラーになります。日付・数値・テキストを正しく設定しましょう。

 

実践③:組合わせ(3シートを結合する)

7月分に4月・5月・6月を縦に連結します。

方法 手順 向いている場面
クエリの追加 ホーム → クエリの追加 → 追加するクエリを選択 同じ列構成のデータを縦にまとめる
フォルダーから データの取得 → ファイルから → フォルダーから 同じ形式のファイルが大量にある

今回は「クエリの追加」を使います。

  1. 4月のクエリを選び、ホーム → クエリの追加 → 追加するクエリ
  2. 5月・6月を選んで「OK」
  3. 列名が同じなら自動で縦に結合されます
結合ボタンからクエリの追加を選ぶ

リボンの「結合」▼から「クエリの追加」を選びます。

追加ダイアログ(3つ以上のテーブル)

「3つ以上のテーブル」を選び、追加したいクエリを「追加>>」で右側へ移します。

追加後のクエリ(Table.Combine)

実行すると、数式バーに Table.Combine と表示され、縦に結合された表になります。

Excelでは以下のようになります。

実践④:マージ(商品マスタと結合する)

「縦に連結」ではなく「横に結合」するのがマージといい、いわゆるVLOOKUPと同じ動きをします。

上記の表にある「単価」項目の値が空ですので、商品マスタから「商品コード」をキーにして単価情報を引っ張ってきたいと思います。

手順は以下の通りです。

  1. ホーム → クエリのマージをクリック
  2. 上段:売上クエリ、下段:商品マスタ
  3. 両方の商品コードをクリックして選択
  4. 結合の種類は「左外部」(売上の全行を残す)
  5. OK後、結合した列の展開アイコンから必要な列だけ選ぶ
結合の種類 残る行 使いどころ
左外部 左(売上)の全行 マスタを付けたいとき(定番)
内部 両方に一致する行だけ マスタにある商品だけに絞る
完全外部 両方すべて 突合・差分チェック
左アンチ 左のみ(一致しない行) マスタ未登録の検出
マージダイアログ(商品マスタと商品コードで結合)

上段が売上クエリ、下段が商品マスタです。両方の商品コードをクリックして選び、結合の種類は「左外部」にします。

展開後の列名(商品マスタ.商品名など)

展開すると、列名に「商品マスタ.」という接頭辞がついているのがわかりますね。
この列名が後の合計計算で大事になります。

Excelでは以下のようになります。
「単価」列は削除してもよいでしょう。

実践⑤:合計金額を計算する(2つの方法)

次に単価を出すことができたので、数量と掛け合わせて自動で合計計算をさせたいと思います。
合計金額の列を作る方法は2通りあります。

方法 やる場所 おすすめ
方法A:カスタム列 Power Query エディター ◎(更新しても残る)
方法B:Excelの列追加 読み込んだExcelの表 ○(手軽だが崩れやすい)

方法A:Power Queryの「カスタム列」(おすすめ)

  1. エディターのリボンで「列の追加」タブをクリックします
  2. 「カスタム列」をクリックします
  3. 新しい列名に金額と入力します
  4. カスタム列の式に [数量] * [商品マスタ.標準単価] を入れます
  5. OKを押すと金額列が追加されます
列の追加タブ(カスタム列)

「列の追加」タブには、カスタム列のほかに条件列・インデックス列・重複する列などもあります。

カスタム列ダイアログ(新しい列名と式)

列名は右の「使用できる列」からダブルクリックで挿入できます。手入力すると空白や記号の違いでエラーになりがちです。

カスタム列を追加した結果(Table.AddColumn)

実行すると、適用したステップに Table.AddColumn が追加され、金額の列ができます。

項目 入力内容
新しい列名 金額
カスタム列の式 [数量] * [商品マスタ.標準単価]
Power Queryで作るメリット
クエリの中に手順として残るので、翌月データを更新しても金額列が自動で再計算されます。

列の追加・削除にも強く、毎月の運用に向いています。

方法B:Excelの表に列を追加する

読み込んだ表の右端に「金額」と入力し、数式を入れます。

項目 入力内容
見出し 金額
数式(1行目) =[@数量] * [@[商品マスタ.標準単価]]

「@」を忘れて [数量] * [商品マスタ.標準単価] と入力すると、次の警告が出ます。

テーブルでは複数の値を返す数式はサポートされていません

「入力した数式は複数の値を返すことができますが、テーブルではサポートされていません」という警告です。

「はい」を押すと [@...] が自動で付き、正しい式になります。

記号 意味
@ 「同じ行の値」を使う(暗黙の交差)
[ ] 列を指定する
[ ] の入れ子 商品マスタ.標準単価のように名前の一部になる

 

どちらを使うべきか

観点 方法A(カスタム列) 方法B(Excelで列追加)
更新したとき 自動で再計算 行が増えると式のコピーが必要
列構成の変更 強い 列がずれると壊れる
手軽さ エディターを開く必要あり その場で書ける
おすすめ 毎月使う集計 一時的な確認・試算

実践⑥:集計(グループ化)

次は各担当ごとにどれぐらいの売り上げを上げているかグループ化をして集計をしてみます。

  1. ホーム → グループ化をクリック
  2. グループ化する列:担当(またはカテゴリ)
  3. 新しい列名:売上合計/操作:合計/列:金額

これで担当別・カテゴリ別の集計表が作れます。ピボットを組み直さなくていいのでカンタンですね。

変換グループのグループ化ボタン

「変換」グループにある「グループ化」をクリックします。

グループ化ダイアログ(グループ化する列の選択)

「グループ化する列」で担当を選びます。

グループ化ダイアログ(新しい列名・操作・列)
項目 入力内容
グループ化する列 担当
新しい列名 売上合計
操作 合計
列 金額
グループ化の結果(担当別の売上合計)

実行すると Table.Group のステップが追加され、担当ごとに合計された表になります。

実践⑦:読み込み(Load)

ホーム → 閉じて読み込むをクリックします。

読み込み先 内容 おすすめ
テーブル 新しいシートに表として出力 初心者はこれ
ピボットテーブルレポート ピボットとして出力 集計をすぐ見たい
接続のみ 表は作らずデータモデルに保持 大量データ・Power BI向け
データモデルに追加 リレーションシップを組める 複数テーブルを分析
Excelに読み込まれた結果

読み込むと、クエリの結果が表としてシートに出力されます(この例は7月+4〜6月の32行)。

Excelに読み込まれた担当別の集計表

集計クエリを読み込むと、担当別の売上合計がシートに出力されます。

金額列まで含めた明細表

明細側のクエリは、金額列まで含めた一覧として読み込んでおくと便利です。

実践⑧:自動更新の設定

読み込んだ表をクリック → クエリ → プロパティで更新方法を設定できます。

クエリの更新メニュー

リボンの「更新」▼から「すべて更新」や「接続のプロパティ」を選べます。

設定 内容
ファイルを開くときにデータを更新する ブックを開いたとき自動更新
定期的に更新する 指定間隔(例:60分ごと)で更新
すべて更新 手動更新。Ctrl + Alt + F5
更新の確認 Ctrl + Alt + F5 後に最終更新日時を確認

 

実例:追加したら片方のデータがnullになった

実際に筆者がハマった例です。7月分CSVと4月シートを「クエリの追加」したところ、4月分がすべてnullになり、列も増えてしまいました。

項目 内容
症状 追加すると片方のデータがnullになり、余分な列(Column2〜5)が増える
原因 4月シートのヘッダー処理が未実施で、列名が「2026年4月 売上明細」「Column2」…のままだった
なぜ クエリの追加は「列名」で結合するため、名前が違うと別の列として扱われる
対処 各クエリで「行の削除」+「1行目をヘッダーとして使用」を済ませ、列名をそろえてから追加する
追加の前に必ず確認
追加するすべてのクエリで、列名が同じになっているか確認してください。
1つでも「Column2」などが残っていると、その分だけnull列と余分な列ができます。

参考:M言語を少しだけ読んでみる

Power Queryの操作は、裏側でM言語という式に変換されています。

ホームタブの詳細エディター

「ホーム」タブの「詳細エディター」から開けます。

4月クエリのM言語(詳細エディター)

実際の4月クエリのコードがこちらです。操作した手順がそのまま式になっているのが分かります。

ホーム → 詳細エディターを開くと、次のようなコードが見られます。

let
    ソース = Excel.Workbook(File.Contents("C:\data\売上.xlsx"), null, true),
    シート = ソース{[Item="4月", Kind="Sheet"]}[Data],
    見出し = Table.PromoteHeaders(Table.Skip(シート, 2), [PromoteAllScalars=true]),
    型変更 = Table.TransformColumnTypes(見出し, {{"日付", type date}, {"数量", Int64.Type}})
in
    型変更
行 意味
ソース Excelブックを開く
シート 「4月」シートを取り出す
見出し 先頭2行を飛ばして1行目を見出しにする
型変更 日付・数値の型を設定する

読める必要はありませんが、エラーが出たときに「どのステップで失敗しているか」が分かると解決が早くなります。

 

Excel PowerQueryつまずきポイント10選

Excel PowerQueryの操作が一通りできたところで、つまずきポイントをまとめたいと思います。

# 症状 原因と対処
1 見出しが「Column1」になる 先頭行がヘッダーになっていない → 「最初の行をヘッダーとして使用」
2 合計が0や空白になる 数値がテキスト型 → 型を「整数」に変更
3 日付が文字列のまま 型を「日付」に変更(地域の設定にも注意)
4 マージで一致しない キーの空白や型の違い → トリム+型を揃える
5 更新するとエラー 元ファイルの場所が変わった → データソースの設定を変更
6 列名を変えたら動かない ステップが旧列名を参照 → ステップを修正
7 ブックが重い 全列読み込み → 必要な列だけ残す/「接続のみ」で読み込む
8 色や書式が消える Power Queryは書式を扱えません(値のみ)
9 共有したら更新できない 参照先がローカルパス → 共有フォルダ等に置く
10 元データを編集してしまった Power Queryは元を変更しません。編集したのは別ファイルか確認

Power BI編:同じ考え方で使える

ここからは後半、Power BIの話です。

Power BI DesktopにもPower Query エディターが入っており、操作感はほぼ同じです。

項目 Excel Power BI
入口 データ → データの取得 データを取得
エディター Power Query エディター Power Query エディター(同名)
手順の記録 適用したステップ 適用したステップ(同じ)
数式言語 M言語 M言語(ほぼ共通)
出力先 シートの表・データモデル データモデル(必須)
更新 手動/自動(間隔) 手動/スケジュール(発行後)

Power BIでの手順(Excelと同じ流れ)

Power BI Desktopのデータを取得(Excelブック)

「ホーム」タブ →「データを取得」→「Excel ブック」を選びます。

ナビゲーター(4月・5月・6月・商品マスタを選択)

ナビゲーターで必要なシートにチェックを入れ、「データの変換」を押します。

Power BIのPower Query エディター

Power BIでも同じPower Query エディターが開き、クエリ一覧・プレビュー・適用したステップの構成も同じです。

ExcelのクエリをPower BIへ持っていく

  1. ExcelのPower Query エディターでホーム → 詳細エディターを開く
  2. M言語のコードをすべてコピー
  3. Power BIの詳細エディターに貼り付けて「完了」

同じM言語なので、Excelで作った整形手順をPower BIで再利用できます。

Power BIならではの強み
・大量データでも扱いやすい(圧縮して保持)
・発行後にスケジュール更新できる(PCを起動していなくても更新)
・複数テーブルのリレーションシップを組んで分析できる
・ダッシュボードとして共有できる
実例:Mをコピーしたら「循環参照」になった
ExcelのクエリをそのままPower BIに貼ると、「循環参照が検出されました」というエラーになることがあります。

原因 対処
貼り付けたクエリが自分自身を参照している(例:クエリ名が「4月」なのに #"4月" を参照) 新しいクエリを作り、参照先と違う名前にしてから貼る
参照先(4月・5月・6月・商品マスタ)がまだ無い 先に同じファイルから取得してクエリを作る(名前も完全一致させる)

M言語はクエリ名で参照するため、名前が1文字違うだけでも動きません。

よくある質問(FAQ)

よくある質問についてまとめました。

質問 回答
無料で使えますか? Excel 2016以降は標準搭載。Power BI Desktopも無料です
マクロ(VBA)は必要ですか? 不要です。マクロが使えない環境でも動きます
元のデータは変更されますか? 変更されません(参照するだけ)
関数は覚える必要がありますか? 最初は不要。慣れたらM言語を少しずつ
Excel 2013でも使えますか? アドインの追加が必要です(2016以降は標準)
Mac版Excelでも使えますか? 使えますが、機能差があります
色や罫線は設定できますか? できません。読み込んだ後にExcel側で設定します

さいごに

今回は、Power Queryの使い方をExcelベースでまとめました。

・Power Queryとは(Excelとの違い)
・基本の4ステップ(接続・変換・組合わせ・読み込み)
・サンプルデータで実践(3シート結合→マージ→集計)
・自動更新の設定方法
・つまずきポイント10選
・Power BI編(同じクエリを再利用する)
1. Power Queryは「取得 → 変換 → 組合わせ → 読み込み」の4ステップ
2. 一度作れば翌月は「更新」だけで済む
3. マージはVLOOKUPの代わり、追加は縦の結合
4. 型の変更を忘れると集計でエラーになる
5. Excelで練習して、Power BIへM言語ごと移行できる

毎月のコピペ作業が、ボタン1つに変わります。

まずは手元の「毎月同じことをしている集計」を1つ選んで、ぜひ試してみてください。

エク短ツールズ
エク短ツールズ(ツール一覧)
Excelの変換・比較・PDF・バーコード作成まで、ブラウザだけで使える無料ツールを公開しています。



この記事の関連キーワード

こちらの記事の関連キーワード一覧です。クリックするとキーワードに関連する記事一覧が閲覧できます。






コメントを残す

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

CAPTCHA ImageChange Image