以前に、以下のブログでVLOOKUP関数の使い方を説明しましたが、
ExcelでVLOOKUPが正しく動作しない場合の解決法
現在は、新たなXLOOKUP関数というものが利用できるようになっていることは知っていますでしょうか?
※古いバージョンのExcelでは利用できませんが、最新のMicrosoft365等で利用できます
XLOOKUP関数とVLOOKUP関数を比べると、いくつか違いがあるのですが、私が一番良いな!と思ったポイントは、以前にVLOOKUP関数を利用する時の注意点として挙げた以下の条件が不要となったことです。
VLOOKUP関数の場合は上記の条件があったため、
検索値と一致する列が一番左に無い場合、
対象の列を一番左に移動するようなデータ加工が必要でしたが、
それが不要となったため、加工の必要なくそのまま利用できるようになりました!
以前のVLOOKUP関数の場合は以下となっていました。
新しいXLOOKUP関数の使い方は以下の通りです。
=XLOOKUP(①検索値, ②検索表の対象範囲, ③戻り配列(取得する値), ④見つからない場合に表示するテキスト ※省略可能, ⑤一致条件 ※省略可能, ⑥検索種類 ※省略可能)
それぞれの項目を説明します。
①の値で②の範囲内で一致する情報を検索します。
この例の場合、①表Aの「ID」列で、②表Bの一番右側にある「ID」列を指定しています。
※以前のVLOOKUP関数の場合は②の列が検索範囲の一番左にいる必要があったのですが、その条件が不要となっています
上記①②で検索して一致した場合に取得する値③を指定します。
④以降の項目は省略可能ですので、この①②③の指定だけで期待する値が取得できます。
上記表の場合の式
=XLOOKUP(A3, G3:G6, E3:E6)
④以降の項目は省略可能なのですが、省略可能な④の項目も、とても便利だな!と思ったので紹介します。
検索して該当する情報が無い場合、通常は「#N/A」というエラー表示となってしまいます。
これはVLOOKUP関数の場合でも同様のエラーとなりますが、少し面倒な対応をすれば、エラーの場合の表示メッセージを変更することはできました。
例えば以下のように、VLOOKUP関数をIFERROR関数で挟めばメッセージを置き換えて表示することができましたが、関数が長くなって分かりづらいですし、そもそも、どの関数を使えば良かったっけ?と対応が難しいです。
=IFERROR(VLOOKUP(C83, F81:I84, 2, FALSE), "エラーの場合")
これがXLOOKUP関数では
4つ目の項目の「④見つからない場合に表示するテキスト」に文字を記載するだけで簡単に置き換えができて、とっても簡単で、見やすく分かりやすいです。
上記表の場合の式
=XLOOKUP(A5, G3:G6, E3:E6, "該当データなし")
XLOOKUP関数はこれまでのVLOOKUP関数の後継関数と言えるので、機能もバージョンアップされていて使いやすさも向上されています。
これからはVLOOKUP関数の代わりにXLOOKUP関数をどんどん使っていきたいと思います。