はじめに
Excelでデータ検索を行う際、従来のVLOOKUP関数には「検索値がある列の左側にある列から値を返せない」という制約がありました。しかし、XLOOKUP関数はこの制約を克服し、左右どちらの方向でも検索が可能になりました。この記事では、XLOOKUP関数を使った逆引き検索に焦点を当て、その利点や具体的な使用方法を解説します。
XLOOKUP関数とは?(復習)
XLOOKUP関数は、指定された範囲または配列で値を検索し、最初に見つかった一致に対応する項目を返す関数です。
基本的な構文(復習)
Excel
=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])
各引数の意味は以下の通りです。
- 検索値(必須): 検索する値を指定します。
- 検索範囲(必須): 検索を行う範囲を指定します。
- 戻り範囲(必須): 結果として返す値が含まれる範囲を指定します。
- 見つからない場合(省略可能): 検索値が見つからない場合に返す値を指定します。
- 一致モード(省略可能):
- 0(既定値):完全一致。
- -1:完全一致。見つからない場合は、次に小さい項目を返します。
- 1:完全一致。見つからない場合は、次に大きい項目を返します。
- 2:ワイルドカード文字(
*
、?
、~
)を使用した部分一致。
- 検索モード(省略可能):
- 1(既定値):先頭から末尾へ検索。
- -1:末尾から先頭へ検索。
- 2:昇順で並べ替えられた範囲を使用したバイナリ検索。
- -2:降順で並べ替えられた範囲を使用したバイナリ検索。
逆引き検索とは?
通常の検索では、例えば「商品番号」から「商品名」を検索します。これに対し、逆引き検索では「商品名」から「商品番号」のように、通常とは逆の方向で検索を行います。従来のVLOOKUP関数では、検索値が範囲の左端の列にある必要があったため、このような逆引きは困難でした。
<Excelサンプルデータダウンロード>
Excel XLOOKUP関数:逆引き検索でデータ抽出を自由自在に!VLOOKUPの制約を克服
XLOOKUP関数では、検索範囲
と戻り範囲
を自由に指定できるため、簡単に逆引きを実現できます。画像例を基に解説します。
画像例の解説
画像では、商品リスト(D3:E7)から、物品名称に基づいて物品番号を検索しています。セルB3に入力されている数式は以下の通りです。
Excel
=XLOOKUP(B2,E3:E7,D3:D7,"該当なし")
この数式を分解して解説します。
B2
: 検索値(物品名称)が入力されています。例では「ぶどう」です。E3:E7
: 検索範囲(物品一覧の物品名称列)を指定しています。VLOOKUPではこの範囲の左側に結果を取得する列が必要でしたが、XLOOKUPではそのような制約はありません。D3:D7
: 戻り範囲(物品一覧の物品番号列)を指定しています。検索範囲の左側にある列を指定することで、逆引きを実現しています。"該当なし"
: 見つからない場合の値を指定しています。
この数式をセルB3に入力すると、XLOOKUP関数はB2の「ぶどう」を商品リストの商品名列から検索し、対応する物品番号「B103」を返します。
Excelのサンプルデータ【ダウンロード】
以下は、上記画像のExcelデータですので、ダウンロードして練習などに使用してください。
Excel-g715-1.xlsx (ダウンロード)
XLOOKUPで逆引きを行うメリット
- VLOOKUPの制約からの解放: 検索範囲の左側に結果を取得する列を配置する必要がなくなります。これにより、データ構造の変更に柔軟に対応できます。
- 数式の簡略化: INDEX関数とMATCH関数を組み合わせる必要がなくなり、よりシンプルな数式で逆引きを実現できます。
- 可読性の向上: 数式がシンプルになることで、数式の意味が理解しやすくなります。
XLOOKUPとINDEX/MATCHの比較
従来の逆引きでは、INDEX関数とMATCH関数を組み合わせて使用するのが一般的でした。しかし、XLOOKUPを使用することで、より簡単に逆引きを行うことができます。
特徴 | XLOOKUP | INDEX/MATCH |
---|---|---|
数式の簡潔さ | シンプル | 複雑 |
可読性 | 高い | 低い |
柔軟性 | 検索方向、一致モードなどを自由に指定可能 | 柔軟性は高いが、数式が複雑になる傾向がある |
まとめ
XLOOKUP関数は、VLOOKUP関数の制約を克服し、より柔軟なデータ検索を実現します。特に、逆引き検索はXLOOKUPの大きな利点の一つです。データ構造に左右されずに自由に検索を行いたい場合や、複雑な数式を避けたい場合には、XLOOKUPの利用を強くお勧めします。
この解説で、XLOOKUP関数を使った逆引き検索についてより深く理解できたかと思います。この情報を活用し、Excelでのデータ分析をより効率的に行いましょう。
コメント