Excel一覧 Excel操作・関数 検索・抽出関数(VLOOKUP・MATCH・FILTERなど) 関数の使い方

【Excel】範囲から値を検索して隣のセルの値を取得する方法|VLOOKUP・INDEX・MATCHの使い分けガイド

Excelで「検索した値に対応する別の情報を取得したい」と思ったことはありませんか?

たとえば次のようなケースです。

  • 商品コードから商品名を自動表示したい
  • 社員番号を入力すると、隣の列に所属部署を表示したい
  • 顧客名から住所を検索して取得したい

このように、「ある範囲の中から任意の値を探して、隣のセル(または同じ行の別列)の値を取り出す」場面は、実務で頻出します。

この記事では、初心者から中級者まで役立つ「検索して隣のセルの値を取得する」方法を、
VLOOKUP・INDEX・MATCH・XLOOKUPなどを使って体系的に解説します。

✅ 基本:検索して隣のセルを取得する考え方

まずは考え方の基本を理解しておきましょう。

Excelで「検索して隣のセルを取得する」とは、
次の流れで処理を行うことを意味します。

  1. 検索値を指定(例:「A001」という商品コード)
  2. 指定範囲の中でその値を探す
  3. 見つかった行の隣(または任意の列)の値を返す

この処理を行う代表的な関数がVLOOKUP関数XLOOKUP関数です。
まずは最も定番のVLOOKUPから見ていきましょう。


✅ 方法①:VLOOKUP関数で隣の値を取得する(基本)

VLOOKUP関数は、「ある範囲から検索して隣の列の値を返す」ための定番関数です。


・VLOOKUPの構文

"=VLOOKUP(検索値, 範囲, 列番号, 検索方法)"


・引数の意味

引数内容
検索値探したい値(例:セルA2など)
範囲検索対象となる表の範囲
列番号返したい列(範囲の左端を1とする)
検索方法FALSE:完全一致/TRUE:近似一致

・例1:商品コードから商品名を取得

A列B列
A001りんご
A002みかん
A003ぶどう

C2セルに次の式を入力:
"=VLOOKUP(A2, A2:B4, 2, FALSE)"

結果 → 「A001」に対応する「りんご」が表示されます。


・POINT


・例2:セル参照で動的に検索

"=VLOOKUP(D2, A2:B100, 2, FALSE)"

D2に「A002」と入力すれば、「みかん」が自動表示されます。


VLOOKUPは、単純な「検索+隣の値取得」では最もよく使われる関数です。
しかし、範囲の左端しか検索できないという制約があります。


✅ 方法②:INDEX関数とMATCH関数の組み合わせで柔軟に検索

VLOOKUPの制限を解消できるのが、INDEX関数+MATCH関数の組み合わせです。
これを使うと、検索列が右にあっても自由に値を取得できます。


・INDEX関数の構文

"=INDEX(返したい範囲, 行番号)"


・MATCH関数の構文

"=MATCH(検索値, 検索範囲, [照合の種類])"


・組み合わせ例

"=INDEX(B2:B100, MATCH(D2, A2:A100, 0))"


・意味

  1. MATCHで、A列の中からD2の値を探し、何行目かを取得
  2. INDEXで、B列の同じ行の値を返す

・例:社員番号から名前を取得

A列B列
1001佐藤
1002鈴木
1003高橋

D2に社員番号「1002」を入力して、
E2セルに次の式を入力:
"=INDEX(B2:B4, MATCH(D2, A2:A4, 0))"

結果 → 「鈴木」


・POINT

  • MATCHは「行番号」を返す
  • INDEXは「行番号」に対応する値を返す
  • VLOOKUPのように「左端限定」ではないため、柔軟

・例2:右方向検索(VLOOKUPではできない)

A列B列
名前社員番号
佐藤1001
鈴木1002

→ 「社員番号」から「名前」を取得する場合もOK。
"=INDEX(A2:A4, MATCH(1002, B2:B4, 0))"


この方法は、VLOOKUPよりも構造が自由で、
「列の順番が変わっても壊れない」という大きなメリットがあります。


✅ 方法③:XLOOKUP関数でシンプルに検索(Excel 365以降)

Excel 365または2021以降では、XLOOKUP関数が登場しました。
これは、VLOOKUPとINDEX+MATCHの長所を組み合わせた最新関数です。


・XLOOKUP関数の構文

"=XLOOKUP(検索値, 検索範囲, 返す範囲, [見つからないとき], [一致モード], [検索モード])"


・例:商品コードから商品名を取得

"=XLOOKUP(D2, A2:A100, B2:B100, "該当なし")"

A列B列
A001りんご
A002みかん
A003ぶどう

D2が「A003」なら結果は「ぶどう」になります。


・POINT


・例2:左方向検索

"=XLOOKUP(D2, B2:B100, A2:A100)"

→ 「商品名」から「商品コード」を取得可能。
VLOOKUPでは不可能だった逆方向検索にも対応します。


・例3:部分一致検索

"=XLOOKUP("", A2:A100, B2:B100,,2)"

→ 「東」を含むセルを検索して隣の値を返す。
検索モードを「2」にするとワイルドカード検索が可能になります。


XLOOKUPは、VLOOKUP・INDEX・MATCHの機能をすべて網羅しつつ、
構文もシンプルで覚えやすいのが特徴です。




✅ 方法④:検索結果を複数返す(FILTER関数)

もし、同じ検索条件に複数の該当データがある場合は、
FILTER関数を使うと一覧で抽出できます(Excel 365以降)。


・FILTER関数の構文

"=FILTER(抽出範囲, 条件範囲=検索値)"


・例:商品コードに一致するすべての取引履歴を抽出

"=FILTER(B2:D100, A2:A100=G2)"

A列B列C列D列
A001りんご東京120
A002みかん大阪90
A001りんご名古屋110

→ G2に「A001」と入力すると、りんごの行だけ抽出。


・POINT

  • FILTERは複数一致も自動対応
  • 動的に更新される(再入力不要)
  • 部分一致検索も可能(SEARCH関数と組み合わせ)

・例:部分一致で抽出

"=FILTER(A2:D100, ISNUMBER(SEARCH("東",B2:B100)))"

→ 「東」を含む行のみ抽出可能。


✅ 方法⑤:値が見つからないときにエラーを防ぐ(IFERROR)

VLOOKUPやINDEX+MATCHは、検索値が存在しない場合に「#N/A」エラーになります。
このエラーを防ぐには、IFERROR関数を組み合わせましょう。


・IFERROR関数の構文

"=IFERROR(元の式, エラー時の返す値)"


・例1:エラー時に空欄を返す

"=IFERROR(VLOOKUP(D2,A2:B100,2,FALSE),"")"

→ 該当しない場合は空白に。


・例2:メッセージを表示

"=IFERROR(INDEX(B2:B100, MATCH(D2, A2:A100, 0)),"該当なし")"

→ 見つからない場合に「該当なし」と表示される。

参考:【Excel】IFERROR関数で空白を返す方法|エラー時にすっきり見せる実務テクニック


・POINT

  • データ未登録や入力ミスに強くなる
  • 見た目がすっきりし、ユーザーにも優しい
  • 検索+IFERRORの組み合わせは実務の定番

✅ 方法⑥:部分一致や曖昧検索を行いたい場合

検索値が完全一致でなくても、SEARCH関数を組み合わせることで部分一致検索が可能です。


・例:商品名に「りんご」を含む行の価格を取得

"=INDEX(C2:C100, MATCH(TRUE, ISNUMBER(SEARCH("りんご",B2:B100)), 0))"

(Ctrl + Shift + Enter で配列数式として確定)


・POINT

  • SEARCH関数は部分一致を検出
  • MATCH関数でTRUEの位置を探す
  • INDEXで該当行の隣の値を返す

この方法は「一部の文字だけで検索したい」場合に非常に便利です。


✅ 実務での活用例

シナリオ使用関数効果
商品コードから商品名を取得VLOOKUP定番・最速
顧客名から住所を取得(列順が逆)INDEX+MATCH柔軟な検索構造
社員IDから部署を表示XLOOKUP新関数で簡潔に記述
特定条件の複数データを抽出FILTER動的リスト化
不一致時に空欄を返すIFERROR見た目を整える
あいまい検索で最初に一致する値を取得SEARCH+MATCH部分一致対応

これらを使い分けることで、
「どんな検索パターンにも対応できる」汎用的なスキルが身につきます。


✅ まとめ:Excelで範囲から値を検索して隣のセルを取得する方法をマスターしよう

  • VLOOKUP:最も手軽に隣の値を取得
  • INDEX+MATCH:順序に関係なく柔軟に検索
  • XLOOKUP:Excel 365以降で最も使いやすい新関数
  • FILTER:複数該当データを自動抽出
  • IFERROR:見つからないときのエラー回避
  • SEARCH:部分一致・あいまい検索にも対応

Excelの「検索+取得」テクニックをマスターすれば、
顧客管理・商品リスト・在庫表・請求データなど、
どんなデータベース形式のシートも自在に扱えるようになります。

繰り返し使う業務ほど効果が大きく、
作業時間の削減とミス防止の両方が実現できます。

ぜひ、この記事で紹介した関数を活用して、
“探して隣を取る” 作業を完全自動化してみてください。

-Excel一覧, Excel操作・関数, 検索・抽出関数(VLOOKUP・MATCH・FILTERなど), 関数の使い方