magatamamo’s diary

じむいんの じむいんによる じむいんのための+α

クエリのマージがvlookup代わりになると聞いて

vlookup代わりのクエリのマージ手順

ーパワークエリエディターにてー

手順1、
今あるクエリと別に参照する表もクエリにして読み込む

 


手順2、元の表を選択されている状態でホーム>「クエリのマージ」




左の一覧に出力用クエリと参照用クエリの2つが表示されている状態であること

クエリのマージ

ー「マージ」という小窓内ー

上には基本のクエリ、下は「空白」になっている

手順3、プルダウンから「参照するクエリ」を選択する
手順4、上の表と下の表双方の参照に使う列を選択する(複数選択可)

 

 

参照用クエリの選択 参照列も洗濯

 

 

「結合の種類」はvlookup代わりに使うなら「左外部(デフォルト)」のまま

OKボタンを押す。

ーマージの小窓が閉じますー

 

 

 

 

展開マーク押す

一番右の列に参照用クエリ名の列が加わります。

まだマージされていません。

列上の「展開マーク」を押します。

 

表示したい項目にチェックを入れてOkボタンを押します。

表示項目を選択





ー完成ー

 

高度な参照

参照列選択の際に、各クエリにつき1列じゃなくて、各複数選択できるというのはポイントです。

 

複数列選択した場合は選択した複数列すべてが一致した値のみマージされるので、

参照条件が複数ある場合に有効です。

 

複数ある場合は、小さく番号が振られます。選択する順番などで番号を合わせたほうが良いと思います。

【例】  match & index系

matchやindex関数を使うなどして、参照する列を切り替えてる系の方は

そのような高度な技を使っていらっしゃる方ならもうお察しかもしれませんが、

 

 

 

vlookupの際にこのような表でmarch関数とindex関数などで参照列を切り替えていた場合は

  規格以上か
×
福岡 4000 3000
佐賀 5000 4000
長崎 6000 5000

 

 

下記のように表を変更することでクエリのマージ内で対応することができます。

 

規格以上か 価格
福岡 × 4000
佐賀 × 5000
長崎 × 6000
福岡 3000
佐賀 4000
長崎 6000

 

後付けvlookup

PowerQuery + 後付けvlookupじゃダメなんですか

ーエクセル内ー

PowerQueryで読み込まれたデータはエクセル内に戻った際、直接セルに入力されるわけではなく、テーブルに入った状態になっています。


テーブルに入ったデータの1番右にいつものようにvlookupの列を付け足すとテーブルの一番下の行までvlookupが補完されます。加えてクエリの更新とともにvlookupの値も更新されます。

横付けしたvlookupまで、テーブルに含んでくれるからです。

もちろんテータ更新で更新してくれます。

 

一度設定しておけば、「データ更新」意外操作はいらないという点では、これでも遜色がないです。