「VLOOKUP関数で左側を検索したいのにできない…」
・検索したい列が左にある
・列を並び替えられない
・既存ファイルだから構造を変えられない
実務でExcelを使っていると、一度はぶつかったことがあるのではないでしょうか。
結論から言うと、VLOOKUP関数とCHOOSE関数を組み合わせれば“左側検索”は可能です。
ただし、この方法には注意点もあります。
この記事では、VLOOKUP関数で左側を検索する方法を図解で分かりやすく紹介するとともに、注意点や他に使うべき関数まで、実務目線で解説します。
- なぜVLOOKUP関数は左検索できないのか
- CHOOSE関数を使った具体的な解決方法
- 実務で使う際の注意点と他に使うべき関数
なぜVLOOKUP関数は左側を検索できないのか?
まず前提として、VLOOKUP関数は、
・「検索範囲の一番左の列」からしか検索できない
という仕様となっています。
VLOOKUP関数の構文は以下のとおりです。
=VLOOKUP(検索値, 範囲, 列番号, 検索方法)ここで重要なのは「列番号」です。
列番号は、指定した範囲の左端を1として数えます。
つまり、
・検索列が左端にないと使えない
・右から左へは検索できない
これが、左検索できない問題の正体です。
VLOOKUP×CHOOSEで左側を検索する方法
実はVLOOKUP関数とCHOOSE関数と組み合わせることで、左側を検索することができます。
CHOOSE関数は簡単に言うと、
・指定した番号に対応する値を返す関数
です。
CHOOSE関数の構文は以下の通りです。
=CHOOSE(インデックス,値1,[値2],[値3],...)例えば以下のような表から、”ニンジン”の金額を検索するとします。
この場合、”品名”より”金額”が左側にあるので、VLOOKUP関数単体では検索できません。

この場合、CHOOSE関数と組み合わせることで、”金額”を検索することができます。
以下のように入力します。
=VLOOKUP(E2,CHOOSE({1,2,3},C1:C7,B1:B7,A1:A7),3,0)これで、左側の”金額”を検索することができます。

何が起きているのか?
なぜ左側を検索することができるのか?
それは、CHOOSE関数が「仮想テーブル」を作ってるからです。
CHOOSE関数部分は、以下のように入力しています。
=CHOOSE({1,2,3},C1:C7,B1:B7,A1:A7)これは、
・1列目:C列
・2列目:B列
・3列目:A列
という新しい配列を作成し、VLOOKUP関数で検索する範囲に使用しています。

つまり、
・CHOOSE関数で列の並び順を入れ替えた“仮想の表”を作成し、VLOOKUP関数が参照する範囲を組み替えている
することによって、VLOOKUP関数での検索を可能にしているのです。
メリットと注意点|VLOOKUP×CHOOSEを使う前に知っておくべきこと
VLOOKUP×CHOOSEを組み合わせることでのメリットと注意点をまとめました。
★VLOOKUP×CHOOSE組み合わせの”メリット”
✅表の構造を変えなくていい
✅列の並び替え不要
✅既存ファイルでも使える
VLOOKUP関数で検索するために、わざわざ列の並び替えをしたことがある人もいると思います。
CHOOSE関数で列の並び替えをすることにより、元の表を編集せずに済むというメリットはあります。
このように応急処置としては非常に優秀ですが、注意点もあります。
★VLOOKUP×CHOOSE組み合わせの”注意点”
⚠️可読性が悪い
⚠️ファイルが重くなる可能性がある
⚠️根本的な解決ではない
入力した数式が、パっと見分かりにくいという注意点があります。
内容を修正するときや、第三者が理解するのに時間がかかったりする可能性があります。
VLOOKUP×CHOOSEの組み合わせは、必要な場合に限定して活用することをオススメします。
結局どれを使うべき?実務での最適な選択
今回はVLOOKUP関数で左側のデータを検索する方法を紹介しました。
CHOOSE関数と組み合わせることで、左側のデータを検索できますが、数式が複雑になって可読性が悪くなったりと、使うときは注意が必要です。
現在のExcelであれば、XLOOKUP関数がシンプルで安全
現在のExcel環境であれば、XLOOKUP関数を使うのが最もシンプルで安全です。
XLOOKUP関数であれば、
✅左右どちらでも検索が可能
✅列番号指定が不要
✅列挿入しても壊れにくい
✅可読性が高い
など、VLOOKUP関数と比べて使いやすい数式です。
先ほどの表だと、以下のように入力すれば”金額”を検索することができます。
=XLOOKUP(E2,C1:C7,A1:A7)
圧倒的にシンプルで分かりやすいですよね。
👉XLOOKUP関数の使い方については、様々な記事を出しております。
部分一致やAND/OR検索など、さらに活用できる内容をまとめているので、ぜひチェックしてみてください。
とはいえ、「XLOOKUP関数が使えない環境」というケースもあります。
それでもVLOOKUP関数を使うべきケース
たとえば、Excel 2016などXLOOKUP関数が使えない環境では、VLOOKUP関数を使うしかないケースもあります。
また、会社の共有ファイルがVLOOKUP関数前提で設計されている場合、互換性を優先する必要があるでしょう。
「XLOOKUP関数が使えないからVLOOKUP関数で対応したい」という状況では、CHOOSE関数との組み合わせも現実的な選択肢になります。
✅Excel2016など古い環境
✅共有ファイルの互換性が必要
✅既存ブックを壊せない
などの場合、VLOOKUP×CHOOSEも”現実解”となります。
まとめ|VLOOKUP関数で左検索はできる。でも状況に合わせた関数選択をするのがベター
VLOOKUP関数で左側を検索する方法はあります。
しかしそれは“応急処置”的な考えで使用したほうがいいと考えます。
VLOOKUP×CHOOSEは便利なテクニックですが、これから新しく設計するなら、将来性や保守性も考えた関数選択を意識しましょう。
これから新しく設計するなら、最初からXLOOKUP関数を使う方が安全です。
もしXLOOKUP関数をまだ使ったことがないなら、仕組みから理解しておくことをおすすめします。
ただどうしてもXLOOKUP関数が使えない、でも左側のデータを検索したい、というケースは、今回の記事を参考にしてみてください。
最後まで読んでいただき、ありがとうございました。




コメント