Excelには「Power Query(パワークエリ」というツールがあります。[データ]タブにある「データの取得と変換」というところから操作していきます。
これがなんなのか?という点をざっくり説明していきます。操作方法とかではなく、あくまでもざっくりしたイメージを持ってもらうことが目的ですので、「へーそうなんだ」ぐらいで読んでみて下さい。
Power Query が使えるExcelのバージョンは?
まず、Power Query(パワークエリ)は、Excel 2016以降のバージョン、サブスクリプションのMicrosoft 365 に含まれるExcelで使うことができます。前述のとおり[データ]タブの「データの取得と変換」というものがあるはず。
Power Query で何ができるの?
それでPower Query(パワークエリ)は何かできるのか、という話ですが、一言でいうとExcel上でデータの変換や結合、抽出などのさまざまな操作を行うことができるものです。
さらにそれらの操作を「クエリ」として保存しておけるので、次に同じ操作を行うときに「クエリ」を更新するだけで簡単にできるようになります。
元データが更新されたり追加されたりしたときに、クエリを更新するだけで最新のデータで加工などの作業を行えるので非常に便利なのです。
扱えるデータとしては、Excelファイルはもちろん、CSVファイルやPDF、Webページなどがあります。それらのデータをExcelに取り込んでいろいろ作業できるんですね。PDFとかWebページというのは、その中にある「表(テーブル)」の部分を取り込める、ということです。
Power Queryの主な機能には以下のようなものがあります。
1.データの結合や変換
Power Queryは複数のデータソースからデータを結合し、いろいろな形式に変換することができます。
例えばExcelブック内に支店別の売上データのシートが10支店分(10シート)あるとして、それらを1つの表にまとめるとした場合、通常のExcelであればコピペしていくか、もしくはVBAでプログラムを組むことになりますが、Power Queryを使うと簡単に1つの表にすることができます。
また、商品IDを元に商品マスターから商品名を追加することもできます。VLOOKUPやXLOOKUPで行うような作業をPower Queryでもできるということです。
- エクセルファイル内の月ごとにシートに分かれている売上データを1つの表にまとめる
- 複数のエクセルファイルにある商品データを1つの表にまとめる
- 売上データに別ファイルにある商品マスターから「商品単価」を追加する。
2.データの抽出や追加
Power Queryはデータの中の特定の部分を抽出することができます。また、条件に基づいてデータを加工したり、集計列を追加することも可能です。
- 顧客リストから特定の顧客のデータを抽出する
- 売上データで売上金額が◯◯円以上のものにフラグを立てる。
- 「販売数量」と「商品単価」から金額を計算した列を追加する。
3.データのクリーニング
Power Queryを使えばデータのクリーニングもできます。エラー値の処理や重複したレコードの削除、不要な列や行の削除など、さまざまなデータクリーニングを効率よく行うことができます。
- 売上データから不要な列を削除する。
- アンケートの回答データから無効データを削除する。
なお、こういった操作は「Power Queryエディター」で行っていきます。あくまでもExcelの機能なので、Excelの中でPower Queryエディターを開くことになります。
また、ひとつひとつの操作は「ステップ」として記録されていくので、あとから作業内容を確認することも簡単にできます。
Power Query のメリット
Power Queryを使うことのメリットとしては以下のようなものがあります。
一連の作業をクエリとして保存できる
Power Queryでクエリを作成しておけば、クエリを更新するだけで最新のデータで処理が行えるようになります。
例えば、毎週月曜に前週分の売上データを使ってレポート用の表を作っているとします。こんな作業です。
- 前週分のデータが入っているExcelを開く。
- フィルターや並べ替え、関数などを使ってデータを整える。
- 整えたデータをコピーする。
- レポート用のエクセルファイルを開いて貼り付け。
- ピボットテーブルでクロス集計の表に加工してレポート用の表が完成。
このような作業を毎週手作業で行うとしたら、毎週それなりの時間を使うことになります。
が、Power Queryを使って一連の操作をクエリとして保存しておけば、次からはクエリを更新するだけでOKです。
もしPower Queryを使う場合は、前週分のデータを作業用フォルダに格納したうえでクエリを作成します。
そうすれば次からは下記の操作で完了します。
- 前週分のデータを作業用フォルダに格納する。
- クエリを更新。
これだけで毎週の作業が完了です。
なお、クエリとして保存することのメリットは単に作業がラクになるだけではありません。
もうひとつの大きなメリットは
ミスが減る
です。
毎回手作業で行っていると、どうしてもミスが起こり得ます。人間がやることですから、不要なデータが残ってしまうとか、逆に必要なデータを外してしまうとか。それによって合計値が変わってしまうこともあるかもしれません。
自動化すればそういったことは起こりません。(もちろん処理が適切に設定されている前提ですが)
Excelワークシートの上限を超えるデータを扱える
そしてPower Queryのメリットとして、Excelワークシートの上限である約104万行を超えるデータを扱えるという点もあります。Excelのワークシートは1,048,576行が上限となっています。これ以上のデータは入らないんですね。
でもPower Queryを使えば、104万行を超える大量のデータを「データモデル」というExcel内の領域に保存することができます。
例えば300万レコードのデータを元にピボットで集計したい場合、ワークシートにはそもそもデータが収まらないのでピボットによる集計もできません。
ここでPower Queryを使ってデータモデルに保存すれば、ピボットテーブルで集計することができるようになります。
ですので、Power Queryの「データの取得」というのは単にワークシートに取り込むだけでなく、データモデルに取り込むことも指しています。
Power Query はそんなに難しくない
クエリを作成する、というと難しく聞こえるかもしれませんが、Power Queryはプログラムを組んだりするのではなく(※)、通常のエクセル上で作業するのと同じイメージで進めていくことができます。
「読み込み」とか「データの結合」「マージ」などの用語がいまいちピンとこないところもあるかもなので、最初は少しとっつきにくいところもありますが、ExcelでVLOOKUP、IFなどの関数、フィルタやピボットテーブルなどを使っているレベルの人であればそれほど難しくはありません。
上記に挙げた以外にも、通常のExcelの機能ではできないことや、VBAを使わないとできないことができたりするのでとても便利です。
まずはPower Queryって何?というところがイメージできたらと思います。
(※) M言語というものを使うとより高度な処理を行うこともできます。ただ、そこまでしなくても実務で使える部分は多いと思います。
ニューバランスのおすすめスニーカー
New Balance Japanのストアをチェック!