データ検索の新定番!XLOOKUP関数でVLOOKUPの弱点を克服しよう
データ検索の新定番!XLOOKUP関数でVLOOKUPの弱点を克服しよう
商品データベースから価格を検索したい、顧客リストから担当者を見つけたいなど、データ検索はExcelやスプレッドシートでよく使われる機能ですよね。従来のVLOOKUP関数では難しかった「左方向の検索」や「複数条件での検索」が簡単にできるXLOOKUP関数をご紹介します。
この記事で学べること:
VLOOKUPよりも柔軟で使いやすいXLOOKUP関数の基本から応用まで、実例を交えて詳しく解説します。
VLOOKUPよりも柔軟で使いやすいXLOOKUP関数の基本から応用まで、実例を交えて詳しく解説します。
商品ID | 商品名 | 価格 | カテゴリ | 在庫数 |
---|---|---|---|---|
A001 | ノートPC | 89,800 | 電子機器 | 15 |
B002 | マウス | 2,980 | 周辺機器 | 50 |
C003 | キーボード | 8,900 | 周辺機器 | 32 |
D004 | モニター | 24,800 | 電子機器 | 8 |
上記のような商品データベースから特定の情報を検索する際に、XLOOKUP関数が威力を発揮します。
XLOOKUP関数の基本構文
基本構文:
=XLOOKUP(検索値, 検索配列, 戻り配列, [見つからない場合], [一致モード], [検索モード])
各引数の詳細説明:
- 検索値:探したい値
- 検索配列:検索値を探す範囲
- 戻り配列:結果として返したい値がある範囲
- 見つからない場合:検索値が見つからない時の表示内容(省略可)
- 一致モード:完全一致、近似一致などの指定(省略可)
- 検索モード:最初から検索、最後から検索などの指定(省略可)
基本的な使用例
商品ID「B002」の商品名を検索する場合:
=XLOOKUP("B002", A2:A5, B2:B5)
結果:「マウス」が返されます。
VLOOKUPとの違い:
VLOOKUPでは検索値が左端にある必要がありましたが、XLOOKUPは検索配列と戻り配列を別々に指定できるため、どの位置でも検索可能です。
VLOOKUPでは検索値が左端にある必要がありましたが、XLOOKUPは検索配列と戻り配列を別々に指定できるため、どの位置でも検索可能です。
エラー処理を含む実践的な使用例
存在しない商品IDを検索した際に「商品が見つかりません」と表示する場合:
=XLOOKUP("Z999", A2:A5, B2:B5, "商品が見つかりません")
この書き方により、データが存在しない場合でもエラー値(#N/A)ではなく、わかりやすいメッセージが表示されます。
注意点:
XLOOKUP関数はExcel 365およびExcel 2021で利用可能です。古いバージョンのExcelでは使用できませんので、環境を確認してから使用してください。
XLOOKUP関数はExcel 365およびExcel 2021で利用可能です。古いバージョンのExcelでは使用できませんので、環境を確認してから使用してください。
複数条件での検索応用
カテゴリが「電子機器」で価格が30,000円以下の商品を検索したい場合、XLOOKUP関数を組み合わせて使用できます:
=XLOOKUP(1, (D2:D5="電子機器")*(C2:C5<=30000), B2:B5, "該当商品なし")
この数式では、条件を満たす行で「1」が返され、その行の商品名が取得されます。
逆方向検索の活用
同じ商品名が複数ある場合、最後に登録された商品の情報を取得したい時は検索モードを指定します:
=XLOOKUP("ノートPC", B2:B10, A2:A10, "見つかりません", 0, -1)
最後の引数「-1」により、配列の最後から検索を開始し、最後に見つかった値を返します。
検索モードのオプション:
• 1または省略:最初から検索
• -1:最後から検索
• 2:バイナリサーチ(昇順)
• -2:バイナリサーチ(降順)
• 1または省略:最初から検索
• -1:最後から検索
• 2:バイナリサーチ(昇順)
• -2:バイナリサーチ(降順)
絶対参照と相対参照の使い分け
複数のセルにXLOOKUP関数をコピーして使用する場合、参照の固定が重要になります:
=XLOOKUP(F2, $A$2:$A$5, $B$2:$B$5, "見つかりません")
この例では:
- F2:検索値のセルは相対参照(コピー時に自動調整)
- $A$2:$A$5:検索配列は絶対参照(コピー時も固定)
- $B$2:$B$5:戻り配列は絶対参照(コピー時も固定)
この設定により、数式を下方向にコピーしても正しく動作します。
まとめ
- XLOOKUP関数の利点:VLOOKUPより柔軟で直感的な検索が可能
- 基本構文:=XLOOKUP(検索値, 検索配列, 戻り配列, [オプション引数...])
- エラー処理:4番目の引数で見つからない場合の表示をカスタマイズ
- 複数条件検索:配列数式との組み合わせで高度な検索が可能
- 逆方向検索:検索モードの指定で最後から検索可能
- 参照の使い分け:絶対参照と相対参照を適切に使用してコピー対応
実用的な数式例:
=XLOOKUP(G2, $A$2:$A$100, $B$2:$B$100, "データなし", 0, 1)
=XLOOKUP(G2, $A$2:$A$100, $B$2:$B$100, "データなし", 0, 1)
XLOOKUP関数をマスターすることで、データ検索作業が格段に効率化されます。ぜひ実際のデータで試してみて、その便利さを実感してください。