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

【Excel】「一致したら別のセルの値を返す」方法|IF・VLOOKUP・INDEX関数のガイド

Excelで作業をしていると、
「もしA列の値が一致したらB列の値を返したい」
「条件に合った行のデータだけを取り出したい」
といった場面が多くあります。

たとえば、次のようなシーンです。

  • 社員番号が一致したら、所属部署を自動で表示したい
  • 商品コードが一致したら、価格を返したい
  • セルの内容が「完了」と一致したら、日付セルを返したい

これらはすべて「条件に一致したら別のセルの値を返す」処理で実現できます。

この記事では、Excelでこの操作を行う代表的な関数 ―
IF関数・VLOOKUP関数・INDEX+MATCH関数・XLOOKUP関数 ― を使った方法を、
初心者にも分かりやすく解説します。

✅ 方法①:IF関数で一致したときに別セルの値を返す(最も基本)

まずは、最もシンプルなIF関数を使う方法から。


IF関数の構文

"=IF(論理式, 真の場合, 偽の場合)"


・例1:「A2とB2が一致したらC2の値を返す」

"=IF(A2=B2, C2, "")"

A列B列C列D列(結果)
東京東京100100
大阪東京200(空白)

この式では、A2とB2が一致した場合にC2の値を返し、
一致しない場合は空欄("")を返します。


・例2:「セルが特定の文字と一致したら別のセルを返す」

"=IF(A2="完了", B2, "")"

A列B列結果
完了2024/10/102024/10/10
保留2024/10/12(空白)

A2の値が「完了」と一致した場合だけ、
B2の内容(完了日など)を表示します。


・POINT

  • IF関数は1つの条件に対して動作
  • 文字列の比較では**「"」で囲む**
  • 複数条件を扱う場合はAND/OR関数を組み合わせる

・例3:複数条件を組み合わせる

"=IF(AND(A2="完了",B2="承認済"),C2,"")"

→ 「A列が完了」かつ「B列が承認済み」ならC2の値を返す。


IF関数は、単一条件で「一致したら〇〇を返す」場合に最も使いやすい関数です。
ただし、複数のデータ範囲から一致を探す場合は、次の関数を使います。


✅ 方法②:VLOOKUP関数で一致したら隣の列の値を返す

VLOOKUP関数は、「ある範囲から検索して隣の列の値を返す」関数です。
顧客名や商品コードなど、表形式のデータに最適です。


VLOOKUP関数の構文

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


・例1:商品コードが一致したら商品名を返す

A列(コード)B列(商品名)
A001りんご
A002みかん
A003バナナ

C2セルに検索値「A002」を入力し、D2に以下の式を入れます:
"=VLOOKUP(C2, A2:B4, 2, FALSE)"

→ 結果:「みかん」


・解説


・POINT

  • 一致が見つからない場合は「#N/A」になる
  • FALSE指定で完全一致検索
  • 範囲の左端列で検索する必要がある

・例2:エラーを防ぐ(IFERRORとの組み合わせ)

"=IFERROR(VLOOKUP(C2,A2:B100,2,FALSE),"該当なし")"

→ 一致がない場合は「該当なし」と表示。

参考:【Excel】IF関数とVLOOKUP関数の併用で柔軟なデータ処理を実現する方法|条件分岐×検索


・例3:複数列のデータから抽出

"=VLOOKUP(C2,A2:D100,4,FALSE)"

→ 「A列の検索値」に一致した行の「4列目」の値を返す。


VLOOKUPは、単純な「一致検索+隣の値取得」では最も手軽で実務向きです。


✅ 方法③:INDEX関数とMATCH関数で左右どちらからでも値を取得

VLOOKUP関数には「左端列でしか検索できない」という制約があります。
これを解決するのが、INDEX関数+MATCH関数の組み合わせです。


INDEX関数+MATCH関数の構文

"=INDEX(返したい範囲, MATCH(検索値, 検索範囲, 0))"


・例1:商品コードが一致したら商品名を返す

A列B列
A001りんご
A002みかん
A003バナナ

D2に「A002」と入力して、E2に次の式を入力:
"=INDEX(B2:B4, MATCH(D2, A2:A4, 0))"

→ 結果:「みかん」


・POINT

  • MATCHが「行番号」を返し、INDEXが「値」を返す
  • VLOOKUPのように列順制限がない
  • 列の並びが変わっても壊れない

・例2:右側から左側を検索

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

検索値「1002」から「鈴木」を取得するには:
"=INDEX(A2:A4, MATCH(1002, B2:B4, 0))"

→ 結果:「鈴木」


INDEX+MATCHは、VLOOKUPの欠点を克服した柔軟な検索方法です。
「左・右どちら方向にも検索できる」点が最大の強みです。


✅ 方法④:XLOOKUP関数で簡単に一致検索(Excel 365以降)

Excel 365または2021以降を使っている場合は、
新関数XLOOKUPを使うのが最もシンプルです。


XLOOKUP関数の構文

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


・例1:社員番号が一致したら名前を返す

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

C2に「1002」を入力し、D2に以下の式を入力:
"=XLOOKUP(C2, A2:A4, B2:B4, "該当なし")"

→ 結果:「鈴木」


・POINT

  • 検索列と返す列を自由に指定できる
  • 一致しない場合も「#N/A」ではなく「該当なし」と表示可能
  • VLOOKUPより構文がシンプル

・例2:部分一致検索

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

→ 「東」を含むセルを検索し、隣の値を返す(ワイルドカード検索)。

参考:【Excel】【トラブル解決】XLOOKUPで見つからない・#N/Aになる原因と対処法|検索失敗時の設定と実務活用のコツ


・例3:左方向検索も可能

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

→ 「商品名」から「商品コード」を取得。
(VLOOKUPでは不可だった逆方向検索も可能)


XLOOKUPは、「VLOOKUPの進化版」と言える万能関数です。
検索・一致・エラー処理が1式で完結します。




✅ 方法⑤:複数条件で一致したら値を返す(応用)

1つの条件だけでなく、
「名前と日付が一致したら値を返す」などの複数条件検索も可能です。


・例1:INDEX+MATCHの複数条件

"=INDEX(C2:C100, MATCH(1, (A2:A100=E2)*(B2:B100=F2), 0))"

※Ctrl + Shift + Enter で確定(配列数式)

A列B列C列
東京10月100
大阪10月200
東京11月150

E2に「東京」、F2に「10月」と入力すると、
→ 結果は「100」


・POINT

  • 条件を掛け合わせて「両方一致」した行を特定
  • FILTER関数でも同様の結果を取得可能(Excel 365以降)

・例2:FILTER関数で複数条件一致を抽出

"=FILTER(C2:C100, (A2:A100=E2)*(B2:B100=F2))"

→ 「E2とF2が一致する行」のC列値を返す。


複数条件の一致検索は、分析・売上集計・顧客抽出などに非常に役立ちます。


✅ 方法⑥:IFERRORでエラーを回避して見やすくする

検索系関数では、一致が見つからない場合に「#N/A」エラーが出ます。
見た目を整えるには、IFERROR関数を組み合わせましょう。


IFERROR関数の構文

"=IFERROR(元の式, エラー時の表示内容)"


・例:該当データがない場合

"=IFERROR(VLOOKUP(A2, B2:C100, 2, FALSE), "該当なし")"

→ 一致がない場合は「該当なし」と表示。

参考:【Excel】IFERROR関数の使い方を徹底解説!エラーを見やすく整える実務テクニック


・POINT

  • 検索結果がない場合の見た目を改善
  • ユーザーにとって分かりやすい
  • XLOOKUPでは「見つからない場合」を直接指定可能

✅ 実務で使える「一致→値取得」活用例

シナリオ使用関数効果
商品コード一致で商品名表示VLOOKUP最も基本的な使い方
社員番号一致で部署名表示INDEX+MATCH柔軟で壊れにくい
住所に「東京」が含まれたら担当者名を返すXLOOKUP(部分一致)ワイルドカード検索対応
名前+日付が一致したら金額を返すINDEX+MATCH(複数条件)データ分析に最適
一致しなければ「該当なし」と表示IFERRORエラーを見やすく処理

✅ まとめ:Excelで「一致したら別のセルの値を返す」仕組みを完全マスター

  • IF関数:単一条件でシンプルに判断
  • VLOOKUP関数:隣の列の値を取得(左端検索限定)
  • INDEX+MATCH関数:列順に制限がなく柔軟
  • XLOOKUP関数:Excel 365以降で最強の一致検索
  • FILTER関数:複数該当データも一括抽出
  • IFERROR:エラーを見やすく整える

これらを組み合わせれば、
「検索 → 一致 → 値取得 → 表示」までを完全に自動化できます。

日常の事務処理・売上分析・顧客管理など、あらゆる場面で時短効果が得られるでしょう。
一度テンプレートを作っておけば、入力するだけで自動結果表示が可能です。

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