INDEX
VLOOKUPの制約をなくすには?
ExcelのVLOOKUP
関数は非常に便利ですが、いくつかの制約があります。特に、検索キーが常に検索範囲の最左列にある必要があり、右方向にしか検索できないという点が課題です。これにより、柔軟な検索が求められる場面では不便に感じることがあります。
この問題を解決するために、Excel 365やExcel 2019以降で使用可能なXLOOKUP
関数を活用すると、より柔軟な検索が可能になります。本記事では、XLOOKUP
関数を使って左右どちらの方向にも対応する検索方法について詳しく解説します。
VLOOKUPとXLOOKUPの違い
VLOOKUPとXLOOKUPの主な違いを以下の表にまとめました。
機能 | VLOOKUP | XLOOKUP |
---|---|---|
検索方向 | 右方向のみ | 左右どちらでも可能 |
検索範囲 | 検索キーが最左列に必要 | 任意の列で検索可能 |
列番号の指定 | 必要 | 不要 |
エラー処理 | IFERRORと組み合わせが必要 | 見つからない場合の値を指定可能 |
近似一致 | デフォルトが近似一致(完全一致には第4引数にFALSEを指定) | デフォルトが完全一致 |
左右どちらの方向にも対応した検索の実例
右方向の検索(VLOOKUPの代替)
例えば、以下のようなデータがあるとします。
A | B | C | |
---|---|---|---|
1 | 商品コード | 商品名 | 価格 |
2 | A001 | りんご | 100 |
3 | A002 | バナナ | 150 |
4 | A003 | ぶどう | 200 |
5 |
=XLOOKUP(“A002”, A2:A4, B2:B4) A2:A4からA002を探し、対応するB2:B4を表示します。 |
この場合、セルA5に以下の式を入力します。
=XLOOKUP("A002", A2:A4, B2:B4)
結果:「バナナ」
左方向の検索(VLOOKUPでは不可能)
「商品名」から「商品コード」を検索する場合、VLOOKUPではできませんが、XLOOKUPを使えば可能です。
A | B | C | |
---|---|---|---|
1 | 商品コード | 商品名 | 価格 |
2 | A001 | りんご | 100 |
3 | A002 | バナナ | 150 |
4 | A003 | ぶどう | 200 |
5 | =XLOOKUP(“バナナ”, B2:B4, A2:A4) |
この場合、セルB5に以下の式を入力します。
=XLOOKUP("バナナ", B2:B4, A2:A4)
結果:「A002」
まとめ
VLOOKUPの制約を克服するには、XLOOKUP関数を活用するのが最適です。XLOOKUPを使うことで、左右どちらの方向にも検索でき、列番号の変更が不要になり、エラー処理も簡単になります。特にExcel 365やExcel 2019以降を使用している場合は、VLOOKUPよりもXLOOKUPを優先して活用することをおすすめします。
使用した関数について

XLOOKUP関数でデータの柔軟な検索を行う方法についてわかりやすく解説
XLOOKUP関数についてXLOOKUPの概要データの柔軟な検索Excel関数=XLOOKUP( 検索値 , 検索範囲 , 戻り値の範囲 ,,, )概要 XLOOKUP関数は、指定した範囲内で検索値を探し、それに対応する値を別の範囲から返します。従来のVLOOKUPに比べて、より柔軟で使いやすいのが特徴です。 指定した...

VLOOKUP関数で検索値に一致する行のデータを取得する方法と複数結果の表示方法についてわかりやすく解説
VLOOKUP関数についてVLOOKUPの概要検索値に一致する行のデータを検索Excel関数/検索=VLOOKUP( 検索値 , 範囲 , 列番号 , FALSE )概要 検索値に一致する行のデータを検索して表示 範囲内の一番左の列のなかで、検索値に一致する行の列番号(範囲内の左列から)の値を表示するABCDEF範囲内...