オンライン Excel エディター
無料で使う

INDEX MATCH 関数の使い方:構文・例・エラー対処

2026-10-12 更新 · 無料 · Excel と Google Sheets に対応

構文

=INDEX(戻り範囲, MATCH(検索値, 検索範囲, 0))

クイック回答

INDEX と MATCH を組み合わせると、ある列で値の位置を見つけ、同じ行の別の列(左の列も含む)から値を返せます:=INDEX($E$2:$E$500, MATCH(A2, $D$2:$D$500, 0))。この組み合わせはすべての Excel バージョンと Google Sheets で動作します。#N/A は値が存在しない、文字列として保存された数値、または見えない空白が付いていることを意味します。

構文

=INDEX(戻り範囲, MATCH(検索値, 検索範囲, 0))
引数関数意味
戻り範囲INDEX値を返す列。検索列の左にあっても構いません——VLOOKUP に対する最大の利点です。
検索値MATCH検索する値:数値、テキスト、日付、または A2 のようなセル参照。
検索範囲MATCH検索対象の列。1 列のみ——MATCH は値ではなく「位置」を返します。
0MATCH0 = 完全一致。毎回必ず書きます:省略すると MATCH は近似一致になり、並べ替えていないデータでは誤った結果を黙って返します。

地域設定によっては、引数がカンマではなくセミコロンで区切られます:=INDEX($E$2:$E$500; MATCH(A2; $D$2:$D$500; 0))。小数点にカンマを使う国では標準的な書き方です。

基本例

=INDEX($E$2:$E$500, MATCH(A2, $D$2:$D$500, 0))

日常パターン:MATCH が D 列で A2 の位置を見つけ、INDEX が E 列の同じ位置の値を返します。「D 列の何行目か → E 列の同じ行」と読みます。

=INDEX($D$2:$D$500, MATCH(A2, $E$2:$E$500, 0))

左方向検索:戻り列が検索列の左にあります。VLOOKUP ではまったくできないシーンで、INDEX/MATCH が上級者の定番となった理由です。

=INDEX($B$2:$E$50, MATCH(A2, $A$2:$A$50, 0), MATCH(C1, $B$1:$E$1, 0))

双方向検索:1 つ目の MATCH が行、2 つ目の MATCH が列を見つけ、INDEX が交点のセルを返します——補助セルを一切使わない動的クロス参照表です。

INDEX の範囲と MATCH の範囲は行数が完全に一致している必要があります。MATCH が D2:D500 を走査するのに INDEX が E2:E300 しかカバーしないと、301~500 行目で一致したときに #REF! になります。

よくあるエラーと修正方法

エラー最も多い原因修正
#N/A値が検索列にない——または同じに見えるだけ(文字列として保存された数値、末尾や改行なし空白)。=MATCH(A2, D2:D500, 0) を単独で実行してどちらが失敗しているか確認;VALUE() で数値に変換し見えない空白を清掃、または式全体を IFERROR で包みます。
#REF!INDEX の範囲が MATCH の範囲より短く、見つかった位置が範囲外を指している。両方の範囲をまったく同じ高さにします。例:D2:D500 と E2:E500。
#NAME?INDEX または MATCH のスペルミス——1 文字欠けや余分な空白でも発生します。=INDEX( と =MATCH( と入力し、オートコンプリートに名前を完成させます。
#VALUE!MATCH の引数が逆:範囲が先、値が後。順序は MATCH(値, 範囲, 0)——探す値が先、検索する列が後です。

Web からコピーした末尾の空白や改行なし空白も、ここで最も陥りやすい #N/A の原因です:MATCH にとって「NYC 」と「NYC」は別の文字列です。検索前に列全体をワンクリックで清掃しましょう。

INDEX MATCH と VLOOKUP の比較

INDEX MATCHVLOOKUP
対応バージョンすべての Excel バージョン(Google Sheets も)すべての Excel バージョン(Google Sheets も)
キー列より左を検索可能不可
列挿入後も動作動作する——範囲は独立した列を指す壊れる——固定の列番号がずれる可能性
完全一致MATCH に 0 を書くFALSE を手動で追加(既定は近似一致!)
複数列の返却不可——1 式 1 値不可——1 式 1 値
双方向検索可能——INDEX + MATCH + MATCH不可

共有ブックでは VLOOKUP より INDEX MATCH を優先しましょう:左方向検索ができ、列の挿入でも壊れません。Microsoft 365 では、XLOOKUP がこれらの利点を 1 つの関数にまとめています——動作は同じで、覚える名前は 1 つです。

Google Sheets での INDEX MATCH

Google Sheets は INDEX と MATCH を Excel と同じ引数で完全にサポートしており、上の式はそのまま貼り付けられます。表計算ソフト間で互換性が最も高い検索パターンです。

  • 末尾の 0(完全一致)は Sheets でも同様に重要——省略すると黙って近似一致に切り替わります。
  • 小数点にカンマを使う地域設定(ヨーロッパとラテンアメリカの大半)では、引数の間にセミコロンを書きます:=INDEX($E$2:$E$500; MATCH(A2; $D$2:$D$500; 0))。Excel も同じです。
  • Google Sheets にも Excel 2021+ と同じルールの XLOOKUP があります;INDEX/MATCH はすべての旧ファイルで正しく開けるバージョンです。
  • 双方向検索の INDEX/MATCH/MATCH は両アプリで同じ動作——マトリックス形式の価格表やレート表に便利です。

制限と上級テクニック

  • 分割デバッグ:まず MATCH 単独で実行。数値が返れば問題は INDEX、#N/A が返れば検索列側にあります。
  • MATCH の 0 は決して省略しない——並べ替えていないデータでの近似一致は、もっともらしいが誤った結果を返す最も危険なエラーです。
  • フィルハンドル(選択範囲の角にある小さな四角)をダブルクリックすると、最終行まで一気に数式をコピーできます。
  • $ で範囲を固定($D$2:$D$500)すれば、数式をコピーしても検索列がずれません。
  • 双方向検索では、MATCH を MATCH の中に入れ、INDEX の列引数として使います——マトリックス形式のクロス表の代わりになります。

単一の値ではなく、別のファイルから多くの列を取り込みたいですか?それは検索ではなく表の結合です:下の無料ツールは数式なしで実現します。

関連ツール

関連関数

よくある質問

INDEX MATCH は Excel で何をしますか?

MATCH がある列で値の位置を見つけ、INDEX が別の列の同じ位置の値を返します——両方向可能で、0 を付けると完全一致です。左方向検索など、VLOOKUP ではできない検索を実現する定番の組み合わせです。

INDEX MATCH が #N/A を返すのはなぜ?

値が検索列にない——または同じに見えるだけ:数値が文字列として保存されている、または見えない末尾空白や改行なし空白が付いている。MATCH の部分を単独で実行してどちらが失敗しているか確認し、VALUE() で数値に変換するか空白を清掃します。

INDEX MATCH で左方向を検索するには?

INDEX の最初の引数に戻り列を置き、MATCH で任意の列を検索します:=INDEX($D$2:$D$500, MATCH(A2, $E$2:$E$500, 0)) は E 列を検索して D 列の値を返します。VLOOKUP ではまったくできません。

MATCH に 0 を書く必要があるのはなぜ?

第 3 引数は一致の種類を決めます。0 = 完全一致。省略すると MATCH は近似一致になり、並べ替え済みのデータを前提として黙って誤った行を返します——表面上何も壊れて見えない、最も危険な INDEX MATCH のミスです。

INDEX MATCH は VLOOKUP より優れていますか?

共有ファイルなら、はい:左方向検索ができ、列の挿入にも強く、双方向検索も可能です。VLOOKUP は初心者には読みやすい。Microsoft 365 では、XLOOKUP が 1 つの関数で INDEX MATCH の利点をすべて提供します。

INDEX MATCH は複数列を一度に返せますか?

できません——1 つの INDEX MATCH 式は 1 つの値しか返さないので、列ごとに式を書く(または横にドラッグする)必要があります。複数列を一度に取り込むなら、複数列の戻り範囲を持つ XLOOKUP や表結合ツールのほうが適しています。

INDEX MATCH는 Google Sheets에서 사용할 수 있나요?

네 — Sheets는 두 함수를 Excel과 동일한 인수로 지원하며, 정확한 일치를 위한 마지막 0도 같습니다. 달라지는 것은 인수 구분 기호뿐입니다. 소수점에 쉼표를 쓰는 지역 설정에서는 세미콜론을 사용합니다.

自分のファイルで試す準備はできましたか?

2つのExcelテーブルをキーで結合を開く — 無料