VLOOKUP による左方向検索
本チュートリアルでは、VLOOKUPを使って、Excel で右側にある特定の項目に対応する最も左の列の情報を検索する方法を解説します。通常、VLOOKUP 関数は左方向の検索ができないため、このタスクを実現するにはCHOOSE 関数の助けが必要です。

VLOOKUP で左方向の検索を行う方法は?
上記のスクリーンショットのように、データの最も右側の列に記載された製品30001 に関する情報を入力するには、まず CHOOSE 関数を使ってテーブルの列順を並べ替え、検索値を含む最も右側の列を最も左端に「移動」させます。その後、通常の VLOOKUP 数式で必要な値を簡単に取得できます。
一般的な構文
=VLOOKUP()lookup_value,CHOOSE(){1,2,3,…,N},rangeN,range1,range2,range3,…),column_num,FALSE)
- lookup_value:VLOOKUP が対応する情報の位置を特定するために使用する値です。ここでは、指定された製品 ID を指します。
- Range1, range2, range3, rangeN:lookup_valueおよびその他の情報が含まれるセルの列です。
- column_num:データを取得したい列を指定する数値です。CHOOSE 関数の仕様により、最も右側の列が配列内で一番右端に移動するため、1 列目(色の列)を表示するには、column_num に2 を入力してください。2 列目(サイズの列)を表示するには、column_num に3 を入力してください……
- range_lookup FALSE:VLOOKUP に完全一致のみを検索させるように設定します。
製品30001 に関する情報を入力するには、以下の数式を対応するセルにコピーまたは入力し、Enterキーを押して結果を取得してください:
色(セル H6)
=VLOOKUP()$H$4,CHOOSE(){1,2,3,4},$E$5:$E$9,$B$5:$B$9,$C$5:$C$9,$D$5:$D$9),2,FALSE)
サイズ(セル H7)
=VLOOKUP()$H$4,CHOOSE(){1,2,3,4},$E$5:$E$9,$B$5:$B$9,$C$5:$C$9,$D$5:$D$9),3,FALSE)
価格(セル H8)
=VLOOKUP()$H$4,CHOOSE(){1,2,3,4},$E$5:$E$9,$B$5:$B$9,$C$5:$C$9,$D$5:$D$9),4,FALSE)
注:数式内に製品 ID 30001を直接入力する代わりに、数式を動的にするため、絶対参照となるようドル記号を付けたセル参照 $H$4を使用しています。これにより、セルh3の製品 ID を変更するだけで、他の製品に関する情報を簡単に取得できます。

数式の説明
以下に示す数式を例として使用します:
=VLOOKUP()$H$4,CHOOSE({1,2,3,4},$E$5:$E$9,$B$5:$B$9,$C$5:$C$9,$D$5:$D$9),2,FALSE)
- CHOOSE({1,2,3,4},$E$5:$E$9,$B$5:$B$9,$C$5:$C$9,$D$5:$D$9):CHOOSE 関数を使えば、列 E を配列の先頭(つまり最も左端)に移動させることで、列の順序を自由に並べ替えられます。その結果、次のような配列が得られます:
{30001,「White」,「Large」,20;30002,「Black」,「Large」,21;30003,「Blue」,「Medium」,19;30004,「Red」,「Medium」,18;30005,「Yellow」,「Small」,20}。
これを表形式で示すと、次のようになります:
- VLOOKUP()$H$4,CHOOSE({1,2,3,4},$E$5:$E$9,$B$5:$B$9,$C$5:$C$9,$D$5:$D$9),2,FALSE) = VLOOKUP($H$430001を使用すると、VLOOKUP 関数はセルH3の検索値に基づき、CHOOSE 関数で作成された新しいテーブル内から完全一致する行を特定し、その2 列目の値(「White」)を返します。
関連関数
Excel の VLOOKUP 関数は、テーブルの最初の列で値を検索し、同じ行の指定された列から対応する値を返します。
CHOOSE 関数は、指定されたインデックス番号に基づいて引数リストから値を返します。たとえば、CHOOSE(3,”Apple”,”Peach”,”Orange”)は「Orange」を返します。この場合、インデックス番号は3 であり、「Orange」は関数内のインデックス番号以降で3 番目の値です。
関連数式
Excel スプレッドシートで、右側にある特定の項目に基づいて最も左の列に記載された情報を検索するには、INDEX 関数と MATCH 関数を組み合わせて使用できます。この組み合わせにより、VLOOKUP 関数よりも柔軟に、任意の列から値を検索することが可能になります。
ワークシート内で VLOOKUP 関数を使って値を検索する方法を知っていれば、別のワークシートやブックからでも VLOOKUP で値を検索するのは難しくありません。
場合によっては、複数の条件に基づいて最も近い値または近似値を検索する必要があります。Excel では、INDEX 関数、MATCH 関数、IF 関数を組み合わせることで、これを迅速に実現できます。
最高の Office 生産性ツール
Kutools for Excel - あなたを群衆の中から際立たせます
| 🤖 | KUTOOLS AI アシスト:次に基づいてデータ分析を革新します:インテリジェント実行 | コード生成| カスタム数式作成 | データ分析とチャート生成| 拡張機能呼び出し… |
| 人気機能:検索・ハイライト・重複をマーキング | 空白行を削除する | データを失うことなく列の結合またはセルを | 数式を使用しない四捨五入... | |
| スーパー VLookup:複数条件 | 複数値 | 複数シート間 | ファジーマッチ... | |
| 高度なドロップダウンリスト:簡単なドロップダウンリスト | 連動型ドロップダウンリスト | 複数選択可能なドロップダウンリスト... | |
| 列マネージャー:指定した数の列を追加 | 列の移動 | 非表示列の表示状態を切り替え |列を比較して同じ/異なるセルを選択... | |
| 注目の機能:グリッドフォーカス | デザインビュー | 強化された数式バー | ワークブックとシートマネージャー|リソースライブラリ(オートテキスト)| 日付ピッカー | ワークシートの統合 | 暗号化/セルの復号化 | リストからメール送信 | スーパーフィルター | 特殊フィルタ(太字のフォントを持つセルをフィルタリング/イタリック/取り消し線。。。) 。。。 | |
| トップ15 ツールセット:12 テキストツール(テキストの追加、特定の文字を削除...)| 50+チャートタイプ(ガントチャート...)| 40+実用的な数式(誕生日に基づいて年齢を計算します...)| 19 挿入ツール(QR コードを挿入、パスから画像を挿入...)| 12 変換ツール(単語に変換する、為替レートの変換...)| 7 結合と分割ツール(高度な行のマージ、Excel セルを分割...)|。。。他にも多数 |
Kutools for Excel は300 以上の機能を備えており、必要な機能が常にワンクリックで利用できます…
Office Tab - Microsoft Office(Excel を含む)でタブを使った閲覧・編集を可能にします
- 数十もの開いているドキュメントを1 秒で切り替えられます!
- 毎日何百回ものマウスクリックを削減して、マウス手の悩みともさよならしましょう。
- 複数のドキュメントを閲覧・編集する際の生産性が50%も向上します。
- Office(Excel を含む)に、Chrome、Edge、Firefox のような効率的なタブ機能をもたらします。
