小学館IDをお持ちの方はこちらから
ログイン
初めてご利用の方
小学館IDにご登録いただくと限定イベントへの参加や読者プレゼントにお申し込み頂くことができます。また、定期にメールマガジンでお気に入りジャンルの最新情報をお届け致します。
新規登録
人気のタグ
おすすめのサイト
企業ニュース

初心者でも超かんたん!INDEX関数とMATCH関数を組み合わせて使う方法

2026.02.09

INDEX関数は、指定した範囲から行番号・列番号で指定した位置の値を取得する関数。MATCH関数は、指定した値が範囲内で何番目にあるかを調べる関数。INDEX関数とMATCH関数を組み合わせることで、列追加や表変更に強く、左右検索も可能になる。

Excelでデータ検索を行う際、多くの人が最初に使うのがVLOOKUP関数である。しかし、列を追加しただけで数式が崩れたり、左方向の検索ができなかったりと、不便さを感じる場面も少なくない。そこで注目されるのが、INDEX関数とMATCH関数を組み合わせた検索方法である。

本記事では、INDEX関数とMATCH関数それぞれの役割から、組み合わせた具体的な使い方、実務でよくある活用例までを順を追って解説する。

INDEX関数、MATCH関数とは何か

ここでは、INDEX関数とMATCH関数を個別に取り上げ、役割と考え方を解説しよう。

■INDEX関数の役割と基本的な考え方

INDEX関数は、「指定した範囲の中から、指定した行と列が交わる部分にあるデータを抽出する関数」である。ポイントは、値を直接探すのではなく、位置を指定して値を返すという点にある。

INDEX関数式は下記のようになる。

=INDEX(配列,行番号,列番号)

商品名と価格の表のデータからINDEX関数を使って、ぶどうの行番号・列番号を指定して価格を表示した画面

INDEX関数の考え方は次のとおりである。

  1. どの範囲から値を取り出すかを指定する
「=INDEX(A1:B6」として、値を取り出す範囲を、A1からB6と指定する画面
  1. 何行目・何列目かを数値で指定する
「=INDEX(A1:B6,5,2)」として
5行目・2列目のデータを取り出すと指定する画面
  1. 指定された位置の値を返す
指定の位置のセルにあるデータを返す画面

■MATCH関数の役割と基本的な考え方

MATCH関数は、INDEX関数とは正反対の役割を持つ。MATCH関数は、「指定した値が範囲の中で何番目にあるか」を調べる関数である。

MATCH関数式は下記のようになる。

=MATCH(検査値,検査範囲,照合の種類)

商品名と価格の表から、ぶどうのデータがある行の番号を検索する
MATCH関数式「=MATCH(検査値,検査範囲,照合の種類)」

MATCH関数の処理内容は次のとおりである。

  1. 探したい値を指定する
「=MATCH(A9,」として、探したい値A9を指定する画面
  1. 探す範囲を指定する
「=MATCH(A9,A2:A6,」として探す範囲をA2からA6と指定する画面
  1. 照合の種類を指定
「=MATCH(A9,A2:A6,0)」として照合の種類「0」:検査値と一致する値を検索する画面
  1. 見つかった位置番号を返す
「=MATCH(A9,A2:A6,0)」として、A9のデータをA2からA6の範囲で探し、一致するセルの位置を返す画面

MATCH関数は値そのものを返さず、位置だけを返す関数である点が重要である。

INDEX関数とMATCH関数を組み合わせる仕組み

INDEX関数とMATCH関数は、単体では使いどころが限られるが、組み合わせることで真価を発揮する。この章では、なぜ2つの関数を一緒に使うのか、その仕組みを考え方ベースで解説する。

■なぜ2つの関数を組み合わせるのか

それぞれの関数には、次のような特徴がある。

  • INDEX関数:位置が分からなければ使えない
  • MATCH関数:位置は分かるが、値は取得できない

この弱点を補う形で、2つの関数を組み合わせると有効な活用ができる。

MATCH関数で位置を調べる→その位置をINDEX関数に渡す→INDEX関数が該当する値を返す

この役割分担を理解できれば、数式は自然と読み解けるようになる。

■INDEX関数とMATCH関数を組み合わせる基本構文

INDEX MATCHの基本構文は次のとおりである。この数式は、内側のMATCH関数から処理されると考えると理解しやすい。

=INDEX(値を取り出す範囲, MATCH(検索値, 検索範囲, 一致方法))

INDEX関数とMATCH関数を組み合わせる基本的な使い方

ここからは、実際の利用シーンを想定しながら、INDEX MATCHの基本的な使い方を確認する。

■縦方向のデータを検索する基本例

例として、下記のような表を想定する。

商品名と価格の表

この表で「商品名から価格を取得したい」場合、考え方は次のとおりである。

  1. MATCH関数で商品名の行の位置を調べる
MATCH関数「=MATCH(A9,A":A6,0)
」で商品名の行の位置を調べる画面
  1. INDEX関数で価格列から該当行の値を取得する
「=INEDEX(A2:B6,MATCH(A9,A":A6,0),2)」として、A2からB6の範囲で、MATCH関数の値の行と2列目が交差するセルの値を返す画面

検索値や範囲を変更するだけで、他のデータにも使い回せる点が特徴である。

VLOOKUPとINDEX関数・MATCH関数の組み合わせの違い

INDEX MATCHが評価される理由を理解するには、VLOOKUPとの違いを知ることが近道である。この章では、実務で感じやすい差を中心に比較する。

■VLOOKUPで起こりがちな問題点

VLOOKUP関数には、次のような弱点がある。

  • 列を追加すると列番号がずれる
  • 左方向の検索ができない
  • 表構造が変わると修正が必要

■INDEX関数・MATCH関数の組み合わせが実務向きと言われる理由

INDEX関数とMATCH関数の組み合わせは、次の点で実務に向いている。

  • 列の位置に依存しない
  • 左右どちらの検索も可能
  • 表が成長しても壊れにくい

@DIMEのSNSアカウントをフォローしよう!

DIME最新号

最新号
2025年12月16日(火) 発売

来年末は、DIME本誌で答え合わせ!?来る2026年、盛り上がるだろう意外なブームを各ジャンルの識者・編集部員が大予言! IT、マネーから旅行にファッション、グルメまで……”一年の計”を先取りできる最新号!

人気のタグ

おすすめのサイト

ページトップへ

ABJマークは、この電子書店・電子書籍配信サービスが、著作権者からコンテンツ使用許諾を得た正規版配信サービスであることを示す登録商標(登録番号 第6091713号)です。詳しくは[ABJマーク]または[電子出版制作・流通協議会]で検索してください。