指定した範囲の中から特定のデータに対応する値を取り出す関数であるVLOOKUP関数。非常に便利な関数のため使っている方も多いと思います。一方で、VLOOKUP関数を使っていてこんなことを思ったことはありませんか?
●検索値より左側の列も出力できたらいいのにな。。
●複数の検索値を適用できたらいいのにな。。
本記事では、そんなVLOOKUP関数で解決できないお悩みを解決できる便利な関数、XLOOKUP関数の特徴について紹介します!
VLOOKUP関数とXLOOKUP関数の違い
まずはそれぞれの関数の書き方について見ていきたいと思います。
=VLOOKUP(検索値,範囲,列番号,[検索方法])
=XLOOKUP(検索値, 検索範囲, 戻り配列, [見つからない場合], [一致モード], [検索モード])
なんとなく構成要素は似ていますが、XLOOKUP関数の方が引数が多いですね。
続けて機能面の比較をしていきます。VLOOKUP関数とXLOOKUP関数には大きく分けて下記のような違いがあります。
比較項目 | VLOOKUP関数 | XLOOKUP関数 |
---|---|---|
検索値の位置 | 検索範囲の一番左でないと× | 任意の位置を設定可能 |
検索方向 | 検索値が縦(列)方向に並んでいる場合のみ利用可能方向のみ | 検索値が縦(列)・横(行)のいずれの方向に並んでいても利用可能 |
エラー発生時 | 代替値の設定不可 | 代替値の設定が可能 |
利用可能なバージョン | すべてのバージョンで利用可能 | EXCEL2019以前のバージョンでは利用不可 |
それでは各項目について詳しく解説していきます。
検索値の位置
<VLOOK関数の場合>
VLOOKUP関数を利用する場合、下記の画像のように検索値として利用する列が対象範囲の一番左側に存在する必要があります。検索値の列が左端以外にある場合は、列を追加したり位置を修正するといった対応が必要になります。
<XLOOKUP関数の場合>
XLOOKUP関数はVLOOKUP関数と異なり、検索範囲と戻り範囲(出力範囲)を別々の引数として設定する関数になっています。(VLOOKUP関数は、『範囲』の引数の中に検索範囲と戻り範囲を含める必要があります。)
そのため、検索値が一番左側の列でないといけないといった制約はなく、検索範囲より左側の列も戻り範囲として設定することが可能です。
上記の通り、出力範囲の柔軟性ではXLOOKUP関数はVLOOKUP関数に勝る関数であると言えそうです。
検索方向
<VLOOKUP関数の場合>
VLOOKUP関数を利用する場合は、検索値が縦(列)方向に並んでいる場合しか利用ができません。
<XLOOKUP関数の場合>
XLOOKUP関数は検索値が縦(列)方向でも横(行)方向でも利用することが可能です。
正直、横(行)方向に検索方向を指定するシーンはほとんどない方が多いのでないかと思いますが、検索報告の柔軟性においてもXLOOKUP関数はVLOOKUP関数に勝る関数であると言えそうです。
エラー発生時
<VLOOK関数の場合>
VLOOKUP関数を利用する場合、出力結果がエラーになった場合は、『#N/A』や『#REF!』といったエラー表示が出力されてしまいます。エラー表示を無くすためには、IFERROR関数といった別の関数を組み合わせた入力が必要になります。
<XLOOK関数の場合>
XLOOKUP関数については、[見つからない場合]の引数に表示させたい文言を入力することで、エラー発生時の出力結果を入力した文言に変えることができます。
エラー発生時の表示まで、一つの関数でケアできるという点でもXLOOKUP関数はVLOOKUP関数より使いやすい関数だと言えそうです。
利用可能なバージョン
<VLOOK関数の場合>
VLOOKUP関数については全バージョンのExcelで利用可能です。
<XLOOK関数の場合>
XLOOKUP関数は2020年に登場した関数のため、EXCEL2019以前のバージョンでは利用ができません。
古いバージョンのエクセルを利用している方や、仕事で関わる相手が古いバージョンのエクセルを利用している場合などは、XLOOKUP関数よりもVLOOKUP関数を利用することをおすすめします。
まとめ
ここまで、XLOOKUP関数とVLOOKUP関数の機能を比較してきましたが、基本的には、XLOOKUP関数はVLOOKUP関数の上位互換と呼べる関数だと言えそうです。
特に、これからExcelの勉強を本格的に始める方はぜひXLOOKUP関数を覚えておきましょう!