目次
はじめに
Excelは仕事において非常に重宝している神ツールで、少し前まではあらゆる関数を駆使していろいろなデータ整形をしておりました。
少しググればいろいろなケースでいろんな関数を紹介しているサイトがあって、困ることがほとんどなく、基本的に実現したいことはたいていできる素晴らしいツールだと思っております。
関数の中でも特に、VLOOKUPやHLOOKUP関数はデータ整形する中で頻繁に扱う関数で、さらには最近では、XLOOKUP関数というVLOOKUPやHLOOKUPの上位互換というべき素晴らしい関数が登場しました。
ただ、このLOOKUP関数は、使い方を理解するのに少し厄介であると感じております。
私も初めてこの関数に出会ったときは、理解するのに時間がかかりました。
ですが、このLOOKUP関数を覚えなくても同じことが実現できるので、今回はそちらを紹介していきたいと思います。
サンプル事例
LOOKUP関数をよく見かけるケースで考えていきます。
従業員管理(顧客管理)
例えば下図のような従業員DBがあって、その従業員がいくつかある事業所DBと紐づいているケースを考えてみます。(従業員を顧客、事業所を取引先名などと置き換えれば顧客管理にも使えます。)
この2つのデータを合わせたいと思ったとします。
そんな場合、下図のようにVLOOKUP関数を使って対応することがあると思います。

ただ、この関数にも以下のような弱点があると考えております。
- セルの中身を見ないと何をしているかわからない
- 行が増えたり、列が増えたりすると追従しないことがある
- 列の順番を変えたりするとうまくいかないことがある
ということで、これらのデメリットを解消するやり方を紹介します。
- STEP
従業員情報の取り込み
- STEP
事業所情報の取り込み
- STEP
従業員情報と事業所情報の結合
最後に、従業員情報と事業所情報を合わせていきます。
下図のようにホーム>結合>クエリのマージの右の▼ボタンをクリックして、新規としてクエリをマージをクリックします。
すると、マージというウィンドウが立ち上がりますので、続けて、下図のように上のドロップダウンから、従業員情報のテーブルを選択し、下のドロップダウンから事業所情報のテーブルを選択します。
一致させたい列(ここでは事業所ID)を選択してOKをクリックします。
すると、下図のように、従業員一人一人にテーブルという列の情報が追加されます。
最後に下図の通り、テーブル列の右にある展開ボタンをクリックして、事業所情報の必要な列だけ選択してOKをクリックします。
すると、下図のように、事業所名、郵便番号、住所が一人一人に割り当てられました。
最後に、閉じて読み込むと、下図のようなテーブルが完成します。
商品・取引管理
次に、商品と取引に関して考えてみます。
下図のように、商品情報と、取引情報があって、その日の売上がいくらだったかなどを知りたいとします。
こちらも従業員管理と同様にマージしていきます。
- STEP
商品情報の取り込み
- STEP
取引情報の取り込み
- STEP
商品情報と取引情報の結合
- STEP
取引額の計算
- STEP
おまけ
さいごに
いかがでしょうか。もう、関数にたよる必要はないんですよね。
Power Queryの使い方さえ覚えれば、もう複雑な関数を覚える必要もないですし、どこで何をやっているかもすぐわかりますし、列の入れ替えをしても計算が崩れることもないですし、メリットがたくさんあります。
今後も、Power Queryでの事例をいくつか紹介していきたいと思います。