ExcelのXLOOKUP関数は、「eXtended Lookup」(拡張検索)の略で、従来のVLOOKUPやHLOOKUP関数の制限を超えて効率的に検索することができる関数です。
この記事では、XLOOKUP関数の基本的な使い方と活用方法について説明します。
XLOOKUP関数の使い方
XLOOKUP関数は一言で言うと、指定された範囲において、ある特例の列のデータを検索し、その値に対応する別の列のデータを取得・表示する関数です。
以下は、【データの中から商品ID「P102」の商品名を検索する場合】の例です。
XLOOKUPの数式では、検索値「A2(商品ID:P102)」を検索範囲「A5:A7(商品IDリスト)」の中で検索し、該当する戻り範囲の「B5:B7(商品名リスト)」から値を取得しています。
=XLOOKUP(A2, A5:A7, B5:B7)
以下の通り、必須と任意の引数を指定して検索結果を表示します。
上の例では任意の引数を省略していましたが、実務で使うときも多くのケースで省略できそうですが覚えておくとより便利です。
必須の引数(省略不可)
検索値:セルA2(P102)の値を検索してきて!という値です。
検索範囲:A5:A7が範囲です。検索する範囲はここです!という意味。
戻り範囲:B5:B7は↑の検索範囲(A5:A7)と対応しており、検索値が見つかった場合にここの値が取得されます。
任意の引数(省略不可)
見つからない場合の値:検索値が見つからなかった場合に表示する値。省略するとエラー(#N/A)が返されます。
一致モード:完全一致ではなく、近似値も検索する場合に使用します。
検索モード:検索の方向(前方または後方)を指定したいときに使用します。
XLOOKUPの特長・使いどころ(VLOOKUPとの比較)
「表の検索と言えばVLOOKUP」だと思いますが、XLOOKUPならではの特徴と具体的な活用ポイントについて説明します。
特長1. 検索範囲が自由
VLOOKUP関数では、検索値が検索範囲の左端にある必要がありましたが、XLOOKUP関数では任意の場所から検索できます。
例:検索値が商品名「ペン」に対する商品IDを検索する場合、商品IDには「P102」が返されます。
特長2. 列の増減の影響を受けない
VLOOKUP関数では、列番号を指定する必要がありましたが、XLOOKUPでは必要な範囲のみを直接指定するため、列の追加や削除があっても関数の再設定を行う必要がありません。
特長3. 複数列のデータ取得が簡単にできる(スピル機能)
XLOOKUP関数では、検索値に該当する複数の列の結果を一度に取得することができます。これはスピル機能とも呼ばれ最近のExcelでは重要な概念です。
例:検索値「商品ID」に対して、セルB2(商品名)に以下の関数を入力した場合、セルC2「サイズ」とセルD2「価格」の値もまとめて返してくれます。
【入力例】
上のような入力を1つのセルにしたときに、以下のようにセルC2「サイズ」やD2「価格」には何も入力していなくても自動的に値が反映されます。
【出力例】
特長4. 見つからない場合の処理が簡単
VLOOKUP関数では、見つからない場合の処理をIF関数と組み合わせる必要がありましたが、XLOOKUP関数では、検索値が見つからなかった場合の処理は関数内で直接指定できます。
例:セルA2(商品ID)が見つからなかった場合に「商品なし」と返す場合、4つ目の引数[見つからない場合の値]にダブルクォーテーションで指定します。
また、以下のように4つ目の引数[見つからない場合の値]に何も指定しない場合、スピル機能を使って表示していた部分は、検索値(商品ID)に該当する値がないため、まとめて関数が消えるような仕組みです。
まとめ
本記事では、ExcelのXLOOKUP関数の基本的な使い方から具体的な活用方法を解説しました。XLOOKUPは、VLOOKUP関数よりも柔軟に検索ができる便利な関数です。
・検索範囲が自由
・列の増減の影響を受けない
・複数列のデータ取得が簡単にできる(スピル機能)
・検索値が見つからない場合の処理が簡単
これらの利点を活用することで、Excelでのデータ管理が格段に効率化されます。ぜひ、マスターして、実務で活用してみてください!
- カテゴリ:
- テクノロジー
- キーワード:
- excel