Excelで毎月同じ集計を手作業でやっていませんか。
CSVを開いて、不要な列を消して、表をコピペして、関数を入れて…。この作業、Power Queryなら最初の1回設定するだけで、あとはボタン1つで終わります。
そんな中で悩むことは、
・用語がむずかしくて、最初の一歩でつまずいた
・ExcelとPower BIで何が違うのか知りたい
ですね。
この記事では、Excelをベースに、サンプルデータを使った一連の流れを順番に解説します。
後半ではPower BI編として、同じ考え方がそのまま使えることも紹介します。
今回はそんなお悩みを解決する、
・基本の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月シートのデータ(コピペ用)
| 日付 | 商品コード | 担当 | 数量 | 単価 |
|---|---|---|---|---|
| 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から」でファイルを選びます。
| 設定 | 確認すること |
|---|---|
| ファイル オリジン | 文字コード(例:65001:Unicode(UTF-8)/932:日本語(Shift_JIS)) |
| 区切り記号 | カンマ/タブ/セミコロン |
最後にナビゲーターで取り込むテーブルを選び、「データの変換」を押します。
読み込むと、Excelの表として展開されます。
逆にShift_JISのファイルをUTF-8として読むと化けます。
実践②:変換(整形する)
サンプルは1行目がタイトル、2行目が空行、3行目が見出しになっていましたね。
タイトルが3行目になるよう修正変換したいと思います。

「データの変換」をクリックします。
Power Query エディターが開きます。
次に2回「1行目をヘッダーとして使用」ボタンを押します。
はい、タイトルが修正されましたね。
そのため、1行目がタイトル・2行目が見出しのシートでは、
1回目でタイトル行がヘッダーになり、2回目を押すと2行目(本来の見出し)がヘッダーになります。
そもそもタイトル行が不要な場合は、あわせて「行の削除」→「先頭行の削除」で消しておくとすっきりします。
また、ほかにもいろいろな方法で調整ができます。
| # | 操作 | 場所 |
|---|---|---|
| 1 | 先頭の2行を削除 | ホーム → 行の削除 → 先頭行の削除(2回) |
| 2 | 1行目をヘッダーとして使用 | ホーム → 最初の行をヘッダーとして使用 |
| 3 | 不要な列を削除 | 列を右クリック → 列の削除 |
| 4 | 型を変更 | 列ヘッダー左のアイコン → 日付/整数など |
| 5 | 空白の除去 | 列を選んで 変換 → 書式 → 簡易設定 → 前後の空白をトリム |
数値がテキストのままだと、後の集計やマージでエラーになります。日付・数値・テキストを正しく設定しましょう。
実践③:組合わせ(3シートを結合する)
7月分に4月・5月・6月を縦に連結します。
| 方法 | 手順 | 向いている場面 |
|---|---|---|
| クエリの追加 | ホーム → クエリの追加 → 追加するクエリを選択 | 同じ列構成のデータを縦にまとめる |
| フォルダーから | データの取得 → ファイルから → フォルダーから | 同じ形式のファイルが大量にある |
今回は「クエリの追加」を使います。
- 4月のクエリを選び、ホーム → クエリの追加 → 追加するクエリ
- 5月・6月を選んで「OK」
- 列名が同じなら自動で縦に結合されます
リボンの「結合」▼から「クエリの追加」を選びます。
「3つ以上のテーブル」を選び、追加したいクエリを「追加>>」で右側へ移します。
実行すると、数式バーに Table.Combine と表示され、縦に結合された表になります。
Excelでは以下のようになります。

実践④:マージ(商品マスタと結合する)
「縦に連結」ではなく「横に結合」するのがマージといい、いわゆるVLOOKUPと同じ動きをします。
上記の表にある「単価」項目の値が空ですので、商品マスタから「商品コード」をキーにして単価情報を引っ張ってきたいと思います。
手順は以下の通りです。
- ホーム → クエリのマージをクリック
- 上段:売上クエリ、下段:商品マスタ
- 両方の商品コードをクリックして選択
- 結合の種類は「左外部」(売上の全行を残す)
- OK後、結合した列の展開アイコンから必要な列だけ選ぶ
| 結合の種類 | 残る行 | 使いどころ |
|---|---|---|
| 左外部 | 左(売上)の全行 | マスタを付けたいとき(定番) |
| 内部 | 両方に一致する行だけ | マスタにある商品だけに絞る |
| 完全外部 | 両方すべて | 突合・差分チェック |
| 左アンチ | 左のみ(一致しない行) | マスタ未登録の検出 |
上段が売上クエリ、下段が商品マスタです。両方の商品コードをクリックして選び、結合の種類は「左外部」にします。
展開すると、列名に「商品マスタ.」という接頭辞がついているのがわかりますね。
この列名が後の合計計算で大事になります。
Excelでは以下のようになります。
「単価」列は削除してもよいでしょう。
実践⑤:合計金額を計算する(2つの方法)
次に単価を出すことができたので、数量と掛け合わせて自動で合計計算をさせたいと思います。
合計金額の列を作る方法は2通りあります。
| 方法 | やる場所 | おすすめ |
|---|---|---|
| 方法A:カスタム列 | Power Query エディター | ◎(更新しても残る) |
| 方法B:Excelの列追加 | 読み込んだExcelの表 | ○(手軽だが崩れやすい) |
方法A:Power Queryの「カスタム列」(おすすめ)
- エディターのリボンで「列の追加」タブをクリックします
- 「カスタム列」をクリックします
- 新しい列名に金額と入力します
- カスタム列の式に
[数量] * [商品マスタ.標準単価]を入れます - OKを押すと金額列が追加されます
「列の追加」タブには、カスタム列のほかに条件列・インデックス列・重複する列などもあります。
列名は右の「使用できる列」からダブルクリックで挿入できます。手入力すると空白や記号の違いでエラーになりがちです。
実行すると、適用したステップに Table.AddColumn が追加され、金額の列ができます。
| 項目 | 入力内容 |
|---|---|
| 新しい列名 | 金額 |
| カスタム列の式 | [数量] * [商品マスタ.標準単価] |
列の追加・削除にも強く、毎月の運用に向いています。
方法B:Excelの表に列を追加する
読み込んだ表の右端に「金額」と入力し、数式を入れます。
| 項目 | 入力内容 |
|---|---|
| 見出し | 金額 |
| 数式(1行目) | =[@数量] * [@[商品マスタ.標準単価]] |
「@」を忘れて [数量] * [商品マスタ.標準単価] と入力すると、次の警告が出ます。
「入力した数式は複数の値を返すことができますが、テーブルではサポートされていません」という警告です。
「はい」を押すと [@...] が自動で付き、正しい式になります。
| 記号 | 意味 |
|---|---|
| @ | 「同じ行の値」を使う(暗黙の交差) |
| [ ] | 列を指定する |
| [ ] の入れ子 | 商品マスタ.標準単価のように名前の一部になる |
どちらを使うべきか
| 観点 | 方法A(カスタム列) | 方法B(Excelで列追加) |
|---|---|---|
| 更新したとき | 自動で再計算 | 行が増えると式のコピーが必要 |
| 列構成の変更 | 強い | 列がずれると壊れる |
| 手軽さ | エディターを開く必要あり | その場で書ける |
| おすすめ | 毎月使う集計 | 一時的な確認・試算 |
実践⑥:集計(グループ化)
次は各担当ごとにどれぐらいの売り上げを上げているかグループ化をして集計をしてみます。
- ホーム → グループ化をクリック
- グループ化する列:担当(またはカテゴリ)
- 新しい列名:売上合計/操作:合計/列:金額
これで担当別・カテゴリ別の集計表が作れます。ピボットを組み直さなくていいのでカンタンですね。
「変換」グループにある「グループ化」をクリックします。
「グループ化する列」で担当を選びます。
| 項目 | 入力内容 |
|---|---|
| グループ化する列 | 担当 |
| 新しい列名 | 売上合計 |
| 操作 | 合計 |
| 列 | 金額 |
実行すると Table.Group のステップが追加され、担当ごとに合計された表になります。
実践⑦:読み込み(Load)
ホーム → 閉じて読み込むをクリックします。
| 読み込み先 | 内容 | おすすめ |
|---|---|---|
| テーブル | 新しいシートに表として出力 | 初心者はこれ |
| ピボットテーブルレポート | ピボットとして出力 | 集計をすぐ見たい |
| 接続のみ | 表は作らずデータモデルに保持 | 大量データ・Power BI向け |
| データモデルに追加 | リレーションシップを組める | 複数テーブルを分析 |
読み込むと、クエリの結果が表としてシートに出力されます(この例は7月+4〜6月の32行)。
集計クエリを読み込むと、担当別の売上合計がシートに出力されます。
明細側のクエリは、金額列まで含めた一覧として読み込んでおくと便利です。
実践⑧:自動更新の設定
読み込んだ表をクリック → クエリ → プロパティで更新方法を設定できます。
リボンの「更新」▼から「すべて更新」や「接続のプロパティ」を選べます。
| 設定 | 内容 |
|---|---|
| ファイルを開くときにデータを更新する | ブックを開いたとき自動更新 |
| 定期的に更新する | 指定間隔(例: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月クエリのコードがこちらです。操作した手順がそのまま式になっているのが分かります。
ホーム → 詳細エディターを開くと、次のようなコードが見られます。
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と同じ流れ)
「ホーム」タブ →「データを取得」→「Excel ブック」を選びます。
ナビゲーターで必要なシートにチェックを入れ、「データの変換」を押します。
Power BIでも同じPower Query エディターが開き、クエリ一覧・プレビュー・適用したステップの構成も同じです。
ExcelのクエリをPower BIへ持っていく
- ExcelのPower Query エディターでホーム → 詳細エディターを開く
- M言語のコードをすべてコピー
- Power BIの詳細エディターに貼り付けて「完了」
同じM言語なので、Excelで作った整形手順をPower BIで再利用できます。

・発行後にスケジュール更新できる(PCを起動していなくても更新)
・複数テーブルのリレーションシップを組んで分析できる
・ダッシュボードとして共有できる
| 原因 | 対処 |
|---|---|
貼り付けたクエリが自分自身を参照している(例:クエリ名が「4月」なのに #"4月" を参照) |
新しいクエリを作り、参照先と違う名前にしてから貼る |
参照先(4月・5月・6月・商品マスタ)がまだ無い |
先に同じファイルから取得してクエリを作る(名前も完全一致させる) |
M言語はクエリ名で参照するため、名前が1文字違うだけでも動きません。
よくある質問(FAQ)
よくある質問についてまとめました。
| 質問 | 回答 |
|---|---|
| 無料で使えますか? | Excel 2016以降は標準搭載。Power BI Desktopも無料です |
| マクロ(VBA)は必要ですか? | 不要です。マクロが使えない環境でも動きます |
| 元のデータは変更されますか? | 変更されません(参照するだけ) |
| 関数は覚える必要がありますか? | 最初は不要。慣れたらM言語を少しずつ |
| Excel 2013でも使えますか? | アドインの追加が必要です(2016以降は標準) |
| Mac版Excelでも使えますか? | 使えますが、機能差があります |
| 色や罫線は設定できますか? | できません。読み込んだ後にExcel側で設定します |
さいごに
今回は、Power Queryの使い方をExcelベースでまとめました。
・基本の4ステップ(接続・変換・組合わせ・読み込み)
・サンプルデータで実践(3シート結合→マージ→集計)
・自動更新の設定方法
・つまずきポイント10選
・Power BI編(同じクエリを再利用する)
2. 一度作れば翌月は「更新」だけで済む
3. マージはVLOOKUPの代わり、追加は縦の結合
4. 型の変更を忘れると集計でエラーになる
5. Excelで練習して、Power BIへM言語ごと移行できる
毎月のコピペ作業が、ボタン1つに変わります。
まずは手元の「毎月同じことをしている集計」を1つ選んで、ぜひ試してみてください。






コメントを残す