VLOOKUPの限界突破!XLOOKUPの3大メリットを押さえて“Excelの神”なろう!

SORT関数

XLOOKUPがデータ検索にとても有利というのはご存じですか?
Excel業務をしていると、VLOOKUP関数を使ってデータを検索することがよくありますよね。しかし、VLOOKUPには「検索範囲の制限」「左側のデータを検索できない」「エラー処理が面倒」などの弱点があります。

そこでExcel 2021 から登場したのが XLOOKUP関数!💡
XLOOKUPを使えば、これまでのVLOOKUPの制限を超えて、より柔軟でパワフルな検索が可能になります!(Excel 365 でも使用可能)

✅ 検索方向が自由!左側のデータも取得可能
エラー処理が簡単!IFERRORと組み合わせてスマートに
検索結果の位置を取得して、柔軟なデータ分析が可能

この記事では、XLOOKUPの3大メリットをわかりやすく解説し、さらに CHOOSE・XMATCH・INDIRECTとの組み合わせ による実践的な使い方も紹介します。
これを読めば、あなたも “Excelの神” になれるかも⁉✨

1. XLOOKUPとは?VLOOKUPとの違い

XLOOKUP は、VLOOKUP関数の進化版ともいえる強力な検索関数です。
基本構文は以下の通りです。

📝 XLOOKUPの基本構文

=XLOOKUP(検索値, 検索範囲, 戻り範囲, [見つからない場合], [一致モード], [検索モード])

  • 検索値:検索する値
  • 検索範囲:検索値を探す範囲
  • 戻り範囲:対応する値を返す範囲
  • [見つからない場合](省略可):検索値が見つからない場合に返す値(省略するとエラー)
  • [一致モード](省略可):検索方法の指定
    • 0 ➡️ 完全一致(デフォルト)
    • -1 ➡️ 近似一致(次に小さい値)
    • 1 ➡️ 近似一致(次に大きい値)
    • 2 ➡️ ワイルドカード一致(*や?を使用可能)
  • [検索モード](省略可):検索の方向や方法の指定
    • 1 ➡️ 上から下(デフォルト)
    • -1 ➡️ 下から上
    • 2 ➡️ バイナリ検索(昇順ソート必須)
    • -2 ➡️ バイナリ検索(降順ソート必須)

この関数を使うことで、従来のVLOOKUPHLOOKUPより柔軟にデータを検索することができます。

🔍 VLOOKUPとの比較

つまり、XLOOKUPを使えば VLOOKUPの制限を超えて、より柔軟な検索ができる というわけです!

2. XLOOKUPの3大メリット

💡① 左方向の検索が可能!VLOOKUPの最大の弱点を克服

VLOOKUPでは「検索対象の列が検索範囲の右側にないと取得できない」という大きな制約がありました。

🔽 例:社員IDから氏名を取得する場合

VLOOKUPでは  =VLOOKUP(1002, A2:C4, 2, FALSE)  で検索可能ですが、氏名から社員IDを取得する ことはできません。

XLOOKUPを使った式はこちら!

=XLOOKUP("鈴木 花子", B2:B4, A2:A4)

結果: 1002 🎉

💡② エラー処理が簡単!IFERRORと組み合わせなしでエラー表示が可能

VLOOKUPでは、検索値が見つからない場合に #N/A エラーが出てしまい、IFERRORと組み合わせる必要がありました。

🔽 VLOOKUPの場合

=IFERROR(VLOOKUP(9999, A2:C4, 2, FALSE), "該当なし")

XLOOKUPの場合  デフォルトでエラー時の値を指定可能!

=XLOOKUP(9999, A2:A4, B2:B4, "該当なし")

XLOOKUPの方が、IFERRORを使わない分スッキリ書けますね。✨

3. XLOOKUPの応用テクニック!関数の組み合わせでExcelを極める

✏️ XLOOKUP × CHOOSE (検索条件を切り替える!)

XLOOKUPは単一の検索条件で使うことが多いですが、CHOOSE関数を組み合わせると「検索条件を動的に変更」できます! これにより、1つの式で「名前検索」「ID検索」を切り替えることが可能になります。

例えば、下記のような社員データがあるとします。

早速このデータを「名前」または「ID」で部署名が検索できる機能を追加してみましょう!

具体的には、下記のような形になればOKです。
🔹 E2セル 検索キーへ「名前」 または「ID」 と入力
🔹 F2セル 検索ワードへ実際に検索する値を入力(名前またはID)
🔹 G2セル 検索結果が表示される(尚、E2セルとF2セルへ正しい値が入力されなかった場合はエラーメッセージが表示)

🔽G2セルへ入れる数式

=XLOOKUP(F2, CHOOSE(IF(E2="名前",1,2), A2:A6, B2:B6), C2:C6,"検索エラー") ※G2セルへ入れます

📌CHOOSE関数の基本的な使い方

=CHOOSE(インデックス, 値 1, [値 2], …)

インデックスに”1″が入れば値1を表示、”2”が入れば値2を表示します。
下記のデータで使われている「CHOOSE(IF(E2=”名前”,1,2)」はIF関数と組み合わせていますが、考え方は同じです。
『もし(IF)、E2に”名前”が入れば”1”(つまりA2:A6の範囲を検索)、そうでなければ”2”(つまりB2:B6の範囲を検索)』という意味になります。

✅ ポイント
・ 1つの検索式で 異なる検索条件(名前 / ID) に対応
・ フォームや検索シートを作成する際に 柔軟な検索機能を実現
・ VLOOKUPではできない「条件による検索範囲の切り替え」が可能!

✏️XLOOKUP × XMATCH(検索結果の位置を取得!)

XLOOKUPは 検索値に対して該当するデータを返す関数 ですが、
XMATCHを組み合わせることで 検索値がどの行にあるのか も取得できます!

🔍 例:社員名からIDを取得し、そのIDの行番号を求める

=XMATCH(XLOOKUP(E2, B2:B4, A2:A4), A2:A4,) + 1 ※セルF2に入れます

結果: 3(A列の3行目に1002がある)

ポイント
・まず、セルE2に手入力された「鈴木 花子」をキーに、まずXLOOKUPでID(1002)を取得します。
・次に、XMATCHでこのID(1002)が何行目にあるかを取得ます。
・検索範囲を2行目から設定していますが、最終的に”Excelの何行目”と表示したいため、数式の最後に「+1」をしています。

✏️XLOOKUP × INDIRECT(動的な範囲指定で柔軟な検索!)

データ範囲が動的に変わる場合、 INDIRECT関数を組み合わせることで、より柔軟な検索が可能!

🔽 例:シート名をセルA1に入力し、そのシートのデータを検索

▼元データ
※ここではシート名を”参照シート”とします。

▼検索側シート

=XLOOKUP(1002, INDIRECT(A1 & "!A2:A100"), INDIRECT(A1 & "!B2:B100")) ※Sheet1のセルD2に入れます

✅ ポイント
・ シートが複数になっても対応可能!
・ 上記のデータでは4行目までを指定していますが、任意で100行目などを設定しておけば、動的なデータ増加にも対応可能!

🔍 まとめ

VLOOKUPの限界を超える XLOOKUP を活用すれば、Excelでのデータ検索が劇的に進化します!✨

💡 XLOOKUPの3大メリット
✅ 左方向の検索が可能!
✅ エラー処理がシンプル!
✅ 検索結果の位置を取得可能!

さらに IFERROR・XMATCH・INDIRECTとの組み合わせ で、より柔軟なデータ検索が可能に!
XLOOKUPをマスターして、🔥Excelの神🔥を目指しましょう!💪

📌 次に読むべきオススメ記事

🔹 【初心者向け】IFERROR関数を使ってエクセルのエラーを簡単に回避する方法
🔹 【徹底解説】ExcelでVLOOKUP関数が正しく動作しない理由とその対策
🔹 【無料ダウンロード】Excelで作る簡単・便利な請求書テンプレート

Excelの業務効率化やデータ管理に興味がある方へ!

XLOOKUP関数を活用すれば、手作業でのデータ処理を削減し、業務の効率を大幅に向上できます。
「ExcelのマクロやVBAを使って、さらに自動化を進めたい」「社内で使えるオリジナルのツールを作りたい」といったご相談も大歓迎です!

✅ エクセルの自動化・関数活用を知りたい
✅ XLOOKUP関数を活かしたデータ整理方法を学びたい
✅ Excelを使った社内システムを構築したい

こうしたニーズがあれば、ぜひお気軽にご相談ください!
業務効率化やデータ管理の最適化に役立つ情報をどんどん発信していきますので、エクセル活用をもっと深めたい方は、ぜひチェックしてみてください! 🚀

1件のコメント

コメントする

メールアドレスが公開されることはありません。 が付いている欄は必須項目です