XLOOKUPで、元表の整形せずに結合する
Excelでデータを結合する際、VLOOKUP関数を使用する方が多いのではないでしょうか。
しかし、VLOOKUP関数では、検索範囲の位置が左端にない場合、
結合するための表を別に用意する必要があります。
これは管理上問題が起きやすく、ミスの原因となります。
さらに、VBAやパワークエリを使うと、慣れていない人には大変です。
これらの問題を解決するために、XLOOKUP関数が非常に有用です。
XLOOKUPで、元の表を保ったまま3つの表を結合する
以下の3つの表を、XLOOKUP関数を使用して、元の表を保ったまま3つの表を結合します。
VLOOKUP関数では、検索範囲が左端にないため、不可能です。
そのあたりは、以下に詳しく記載しています
具体的には以下のステップで進めます。
- まず、商品マスタから商品名を取得します。
- 次に、カテゴリマスタからカテゴリ名を取得します。
商品マスタから商品名を取得
商品マスタから商品名を取得し、売上データに結合します。
- XLOOKUP関数のダイアログボックスを開いて、O4セルに次のように入力します。
※ダイアログボックスの使い方は巻末の参考記事をご拝読ください。
- [OK]を押すと、次のような関数式が入力されます。
関数式の構造解説
=XLOOKUP($J$4:$J$8, $B$13:$B$15, C$13:C$15)
複数の検索値「$J$4:$J$8」を、
検索範囲「$B$13:$B$15」の中から探して、
戻り範囲「C$13:C$15」から合致したデータ
を同時に表示させています。
構文は以下の通りです。
=VLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
このあたりの構文を知らない方は、『XLOOKUP関数の構文-縦横無尽に検索する-【DL可】』を拝読ください。
カテゴリマスタからカテゴリ名を取得:
カテゴリマスタからカテゴリ名を取得し、売上データに結合します。
- XLOOKUP関数のダイアログボックスを開いて、P4セルに次のように入力します。
※ダイアログボックスの使い方は巻末の参考記事をご拝読ください。
- [OK]を押すと、次のような関数式が入力されます。
関数式の構造解説
=XLOOKUP($K$4:$K$8, $C$20:$C$22, B$20:B$22)
複数の検索値「$K$4:$K$8」を、
検索範囲「$C$20:$C$22」の中から探して、
戻り範囲「B$20:B$22」から合致したデータ
を同時に表示させています。
構文は以下の通りです。
=VLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
このあたりの構文を知らない方は、『XLOOKUP関数の構文-縦横無尽に検索する-【DL可】』を拝読ください。
最後に
XLOOKUP関数を使用して、元の表を加工せずに、各表を結合できました。
VLOOKUP関数は不可能です。
検索範囲の位置に制約があり、元の表を加工する必要があるからです。
XLOOKUP関数では、データの整合性を保ちつつ、効率的に表の結合を行うことができます。
そのため、表を結合する際は、VLOOKUP関数ではなく、XLOOKUP関数の使用を推奨します。
解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。。
参考記事:
Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。
構文に関する記事
Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。
ダイアログボックスの使い方に関する記事
Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。
参照形式に関する記事
関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。