これまでの連載でパワークエリを使った自動処理の“大まかな流れ”は説明できたと思う。とはいえ、通常のExcelとは全く違う使い方になるため、少し頭が混乱している方もいるだろう。そこで今回は、パワークエリの基本プロセスを復習しておこう。パワークエリを自由自在に使いこなせるように、まずは土台を固めておくことが大切だ。

データの取得元と出力先の関係

パワークエリは「ETL」と呼ばれるジャンルに分類されるツールとなる。ETLとは、データの抽出(Extract)、変換(Transform)、書き出し(Load)のことを指している。これらの処理をExcelで自動化するツールが「パワークエリ」だ。パワークエリの役割について、わかりやすく説明すると、

・外部からデータ表を取得する
・取得したデータ表を目的に合わせて加工する
・加工したデータ表をExcelに書き出す

という一連の流れを自動処理してくれるツールとなる。このことを踏まえながら、これまでに解説した内容を復習していこう。

  • パワークエリの基本プロセスを復習

まずは「取得元」と「出力先」の関係について。パワークエリでは、「取得元」と「出力先」の両方がExcelファイルになるケースが多い。これらのうち、クエリ(自動処理)は「出力先のExcelファイル」に保存される仕組みになっている。よって、クエリを作成・編集するときは、「出力先のExcelファイル」を開いて操作するのが基本となる。

これまでの連載では、

(1)フォルダー内にあるExcelファイルを結合して取得する
(2)取得したデータ表を最適な形に加工する
(3)加工したデータ表をExcelに出力する

という流れで解説を進めてきた。この場合、データの取得元は「フォルダー」になる。

  • 取得元(フォルダー)と出力先の関係

このほかにも、さまざまな取得元を指定することが可能だ。単体のExcelファイルはもちろん、CSVやXML、JSONといった形式のファイルからデータを取得する、PDFやWebページ内にある「表」からデータを取得する、といった使い方にも対応している。

  • 取得元(ファイル)と出力先の関係

ここで覚えておくべきポイントは、パワークエリは「取得元ファイルに一切の影響を与えない」ということだ。取得元ファイルからデータを読み取るだけで、取得元ファイルそのものを書き換える機能はない。

このため、大切なデータが保管されているファイルであっても、安心してパワークエリを使用できる。「会員名簿」や「過去の取引履歴」のように、個人が勝手に編集してはいけないファイルから必要なデータを取得し、好きな形に加工して出力する、といった使い方が可能である。

このように、オリジナルのデータ(ファイル)を維持したまま、目的に合わせて「新しいデータ表」を作りだせることもパワークエリの利点といえる。

クエリの作成

それでは、具体的な作業の流れを“おさらい”していこう。今回は、単体のExcelファイルからデータを取得して加工する場合を例に、作業手順を紹介していく。

データの取得元は、「データ」タブにある「データの取得」コマンドで指定する。ここで取得元のファイル形式を選択し、取得元ファイルの保存場所(パス)を指定する。

  • データの取得元の指定(1)

  • データの取得元の指定(2)

参考までに、データの取得元に指定した「会員名簿.xlsx」の内容を紹介しておこう。このファイルには、会員の氏名、生年月日、性別、メールアドレス、電話番号、住所といった情報が記録されている。

  • データの取得元に指定したExcelファイルの内容

データの取得方法を指定すると「Power Query エディター」が起動し、取得したデータ表がプレビューとして画面に表示される。

  • 取得されたデータ表

このデータ表を目的に合わせて加工していく。ここでは、今日が誕生日の会員に「おめでとうメール」を送信する場合を例に解説を進めていこう。この作業を行うには「今日が誕生日の会員」だけをピックアップしておく必要がある。よって、以下の処理手順でデータ表を加工するように「Power Query エディター」を操作した。

(1)「電話番号」や「住所」など、不要な列を削除する
(2)「生年月日」をもとに「今年の誕生日」のデータ(列)を作成する
(3)「今日の日付」と「今年の誕生日」が一致する会員だけを抽出する

  • (1)と(2)の処理を施したデータ表

  • (3)の処理を施したデータ表

希望する形にデータ表を加工できたら、クエリに適当な名前を付けて「閉じて読み込む」のアイコンをクリックする。すると、加工済みのデータ表が「テーブル」としてExcelに出力される。

以下の図は、2024年6月26日に作業を行った例だ。この場合、「今日の日付」は2024/6/26になるため、「今年の誕生日」が2024/6/26の会員だけが抽出されることになる。その結果、「誕生日が6月26日の会員」だけをピックアップしたデータ表が出力される。

  • 出力されたデータ表(テーブル)

以上が、クエリを作成するときの“大まかな流れ”となる。今回の例では「今日が誕生日の会員」だけを抽出するようにデータ表を加工したが、この処理手順は用途や目的に応じて変化する。

つまり、「Power Query エディターで処理手順を自由に指定できること」が、パワークエリを使えるようになるための条件といえる。そのためには、Power Query エディターに用意されている“コマンドの使い方”を学ぶことが当初の目標になる。これについては、以降の連載で詳しく解説していく予定だ。

クエリの更新

クエリとして登録した処理手順は、好きなタイミングで何回でも実行することが可能である。クエリを再実行したいときは、「データ」タブにある「すべて更新」のアイコンをクリックすればよい。

たとえば、翌日の2024年6月27日にクエリを再実行すると、誕生日が6月27日の会員だけを抽出したデータ表に更新できる。

  • クエリの更新(1)

以降も同様だ。6月28日にクエリを再実行すると、誕生日が6月28日の会員だけを抽出できる。

  • クエリの更新(2)

このように、「同じ処理を何回でも繰り返して実行できる」ことがパワークエリの大きな利点となる。抽出される会員データは「今日の日付」に応じて自動的に変化していくし、そのつど「会員名簿.xlsx」から最新のデータが取得されるため、新しい会員情報が追加されていても問題なく対応できる。

クエリの再編集と管理

作成したクエリの処理内容を確認したり、処理工程の一部を変更したりする場合もあるだろう。クエリの内容を確認したいときは、「データ」タブにある「クエリと接続」をクリックすればよい。

  • 「クエリと接続」ウィンドウの表示

「クエリと接続」ウィンドウが表示され、登録済みのクエリが一覧表示される。ここでクエリをダブルクリックすると……、

  • 「Power Query エディター」の起動

「Power Query エディター」が起動し、処理内容を確認できるようになる。なお、それぞれの処理工程は「ステップ」として記録される仕組みになっている。

  • それぞれの処理工程を記録したステップ

各ステップを選択すると、「その処理工程を行った直後の状態」がプレビューとして表示される。また、画面上部にある数式バーには、そのステップの処理を記したM言語が表示されている。

  • ステップとM言語

クエリ全体についてM言語を確認することも可能だ。この場合は「詳細エディター」をクリックすればよい。

  • 「詳細エディター」の表示

このように、クエリに登録した処理手順は、M言語というプログラミング言語で記録されている。このM言語は、「Power Query エディター」で処理手順を指定した際に自動記述されため、M言語の記述方法を知らなくてもパワークエリを活用することが可能だ。

もちろん、M言語に詳しくなれば、それだけパワークエリの応用範囲も広くなる。とはいえ、いきなりM言語を勉強するのは少し敷居が高いといえる。それよりも「Power Query エディター」に用意されているコマンドの使い方を学ぶことから始めるとよい。

コマンドの使い方を覚えていくうちにM言語への理解も少しずつ高まっていくので、M言語は上級者向けの機能と割り切って考え、まずは各コマンドの使い方と用途を学んでいこう。

ということで、次回の連載から「データの取得元を指定する方法」や「各コマンドの使い方」について詳しく解説していこう。