PowerQueryのマージを使うと、簡単にVLookUp関数使った結果と似たようなことができます。
これはVLookUp関数の式です。
VLOOKUP(検索値,範囲,列番号,(検索方法))
この関数は、いくつかデメリットがあります。
- 検索値は一番左
- 複数条件はできない
- 複数列の結果を返すには、列ごとにVLookUp関数を設定する必要がある
参考:VLOOKUP関数の基本
PowerQueryのマージでは、上記のようなデメリットはありません。
PowerQueryのマージの例
PowerQueryのマージを使ってどのようなことをするか、例を使って説明していきます。
ファイル構成
- 購入品.xlsx:シート「購入品記録」
- カテゴリ.xlsx:シート「コード」
- 読み込むファイルは新規ブック
3つのエクセルブックを使う方法です。
PowerQueryのマージを使ってやること
ここでは単純な方法での説明です。
例:シート「購入品記録」のB列とC列の間にシート「コード」のカテゴリを追加したい。
クエリのマージの設定方法
事前に用意するエクセルブックは2つです。
- 購入品.xlsx:シート「購入品記録」
- カテゴリ.xlsx:シート「コード」
購入品.xlsx
カテゴリ.xlsx
カテゴリを取得する(接続専用)
新しいブックを開き、任意の名前で保存します。
タブ[ データ ] > [ データの取得 ]> [ ファイルから ]> [ Excelブックから ] の順でクリックします。
「カテゴリ.xlsx」を選択し、「インポート」をクリックします。
→ ナビゲーターの画面が表示されます。
→ 画面左側:クエリと接続にシート「コード」が接続専用と表示されます。
購入品記録のデータを取得する
タブ[ データ ] > [ データの取得 ]> [ ファイルから ]> [ Excelブックから ] の順でクリックします。
「購入品.xlsx」を選択し、「インポート」をクリックします。
→ ナビゲーター画面が表示されます。
→ PowerQueryエディターが開きます。
データの型は自動的に検出します。日付設定していないデータを取り込んだ場合、このようにシリアル値で表示されます。この場合は、データ型より「日付」を選択します。
「現在のものを置換」をクリックします。
→ 変更後の画面です。
マージする
→ マージの画面上部にシート「購入品記録」が表示されます。
「カテゴリCD」と「CD」をクリックします。
「接続の種類」から「左外部(最初の行すべて、および2番目の行のうち一致するもの」を選択します。
デフォルトは一番上の「左外部(最初の行すべて、および2番目の行のうち一致するもの」です。
→ 一番左にシート「コード」の列が追加されます。
展開ボタン(赤丸)をクリックし、展開したい項目にチェックを入れて「OK」をクリックします。
→ シート「1」のデータが右端の列に展開されます。
マウスでドラックすると列の位置を移動することができます。
[ ホーム ]>[ 閉じて読み込む ]をクリックします。
結果
読み込み後は、自動でスタイル設定されています。
スタイルを変更したい場合は、データ内をクリックし、[ テーブルデザイン ]>[ テーブルスタイル ] より好みのスタイルを選択します。
右側の下向き三角をクリックするとすべてのスタイルが表示されます。
まとめ・VLookUp関数と比較
PowerQueryのマージを使うと、VLookUp関数のようなことができますが、違いはあります。
- 照合キーは1つ
- 1対多の結合は対応していない
- 照合後の列は1列
- 結合は左外部のみ
- 複合キーも可能
- 1対多の結合も可能
- 展開で複数列の取得も可能
- 結合は左外部の他、右外部・完全外・内部・左反・右反