データ検索の新定番!XLOOKUP関数でVLOOKUPの弱点を克服しよう

データ検索の新定番!XLOOKUP関数でVLOOKUPの弱点を克服しよう

商品データベースから価格を検索したい、顧客リストから担当者を見つけたいなど、データ検索はExcelやスプレッドシートでよく使われる機能ですよね。従来の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は検索配列と戻り配列を別々に指定できるため、どの位置でも検索可能です。

エラー処理を含む実践的な使用例

存在しない商品IDを検索した際に「商品が見つかりません」と表示する場合:

=XLOOKUP("Z999", A2:A5, B2:B5, "商品が見つかりません")

この書き方により、データが存在しない場合でもエラー値(#N/A)ではなく、わかりやすいメッセージが表示されます。

注意点:
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:バイナリサーチ(降順)

絶対参照と相対参照の使い分け

複数のセルに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関数をマスターすることで、データ検索作業が格段に効率化されます。ぜひ実際のデータで試してみて、その便利さを実感してください。

コメントを残す