はじめに
先日、XLOOKUPで複数のテーブルを結合する方法のメモを書いたのですが、せっかくなのでPower Queryを使った方法についても書いておこうと思います。
元のデータ
以前の記事と同じなのですが、再掲します。
Usersテーブル
例えば、社員番号、名前、UPNのある社員一覧があるとします。
EmpNo | Name | UPN |
---|---|---|
1111 | User A | userA@example.com |
2222 | User B | userB@example.com |
3333 | User C | userC@example.com |
4444 | User D | userD@example.com |
Formsテーブル
さらに、Formsのアンケート結果をダウンロードしたものがあるとします。
ID | 開始時刻 | 完了時刻 | メール | 名前 | answer1 | answer2 | answer3 |
---|---|---|---|---|---|---|---|
1 | 10:00 | 10:05 | userA@example.com | User A | 1 | 2 | 3 |
2 | 11:00 | 11:05 | userD@example.com | User D | 2 | 3 | 4 |
3 | 12:00 | 12:05 | userB@example.com | User B | 3 | 4 | 1 |
欲しいデータ
ユーザー一覧にアンケート結果が結合されたものが、今回欲しいデータとします。
EmpNo | Name | UPN | answer1 | answer2 | answer3 |
---|---|---|---|---|---|
1111 | User A | userA@example.com | 1 | 2 | 3 |
2222 | User B | userB@example.com | 3 | 4 | 1 |
3333 | User C | userC@example.com | #N/A | #N/A | #N/A |
4444 | User D | userD@example.com | 2 | 3 | 4 |
Power Queryでの結合方法
テーブルからクエリの作成
Usersテーブルを選択した状態で、「データ」の「テーブルまたは範囲から」をクリックします。
Power Queryエディタが起動しますので、一旦そのまま閉じて読み込みます。
そうすると、Excel上に、いまのクエリを基にした新しいテーブルが生成されます。
Formsについても同様の操作を行います。
が、こちらのシートは使わないので消してしまいます。消してもクエリは残ります。
クエリの編集
「クエリ」の「編集」から、再度、Power Queryエディタを起動します。
Usersはすべての列が必要なので一旦このままにします。
Formsで欲しいのは、Usersと紐づけるためのUPN(メール)とアンケート結果だけなので他の列は削除します。*1
欲しいデータが残りました。
クエリのマージ
続いて、二つのクエリを結合します。今回は、UsersにFormsのクエリをマージします。Usersを選んで「クエリのマージ」をクリックします。
キーとなるUPN(メール)を指定してマージします。
マージされるのですが、このままだと使えません。
追加された列の右上をクリックすると、Forms側の列が表示されるので、ここから必要な列を選びます。今回はアンケート結果だけチェックを入れます。
列が追加されました。これで欲しいデータがそろいました。
Excelで確認する
Excel上でも列が追記されています。
元データには影響がありません。例えばFormsのクエリで時刻などの列は削除しましたが、元データには残っています。
おわりに
ExcelのPower Queryで複数のテーブルを結合する方法について書きました。
もちろん、Power Queryなので、Power BI Desktopでも同じようにクエリを編集して結合することが出来ます。
「Power Queryはいいとして結局XLOOKUPとどっちでやればいいの?」というところについては、自分なりの考えを次の記事で書きたいと思います。
*1:時刻の型が正しく反映されていないのですが、今回は削除する列なので無視します
舟越 匠(日本ビジネスシステムズ株式会社)
人材開発部に所属。社内向けの技術研修をしつつ、JBS Tech Blog編集長を兼任。2024年8月からキーマンズネットでPower Automateの連載を開始。好きなサービスはPower AutomateやLogic Apps。好きなアーティストはZABADAKとSound Horizon。
担当記事一覧