「表の中から特定の位置にあるデータを取り出したい」ときに便利なのが INDEX関数 です。VLOOKUP関数よりも柔軟な参照が可能で、多くの場面で活躍します。
この記事では、INDEX関数の基本的な使い方から、MATCH関数との組み合わせ、実務での活用例までをわかりやすく解説します。
INDEX関数とは?
INDEX関数は、指定した範囲から、行番号と列番号に応じて値を取り出す関数です。
書式
INDEX関数の書式は次のとおりです。
=INDEX(範囲, 行番号, [列番号])
引数の説明
- 範囲:参照対象のセル範囲
- 行番号:何行目か(範囲の中で)
- 列番号(省略可):何列目か(省略すると1列目)
INDEX関数の使い方
例1:指定した行の値を取り出す
INDEX関数を使うと、表の中から指定した位置の値を取り出すことができます。
ここでは、点数の一覧から特定のデータを取得する例を見ていきます。

=INDEX(C3:C5, 2)
この式は、範囲「C3:C5」の中から2行目の値を取り出します。
この範囲には👇
- 1行目:85
- 2行目:90
- 3行目:78
が入っているため、2行目にあたる 90 が結果として返されます。

INDEX関数は、指定した範囲の中での位置(上から何行目か)を基準に値を取得するため、参照するセルの位置が変わっても同じようにデータを取り出すことができます。
例2:行と列を指定して値を取り出す
=INDEX(B3:C5, 3, 1)
今回の式では、範囲「B3:C5」の中から3行目・1列目の値を取り出します。
3行目・1列目にある「高橋」が結果として返されます。

INDEX関数は、表の中で「何行目・何列目か」を指定することで、目的のデータを正確に取り出せるのが特徴です。
ただし、行番号や列番号を手動で指定する必要があるため、データが増えたり位置が変わると対応が難しくなる場合があります。
そこで、条件に合う位置を自動で探せるMATCH関数と組み合わせた、INDEX+MATCHの使い方を覚えることで、より柔軟にデータを取得できるようになります。
関連記事:INDEX+MATCH関数の使い方
注意点
- 行番号や列番号は、指定範囲内での番号(シート全体ではない)
- 範囲外の番号を指定するとエラーになります
- 絶対参照($)を使って範囲を固定すると便利
関連関数
| 関数名 | 説明 |
|---|---|
| MATCH関数 | 指定した値の位置(行番号・列番号)を取得する |
| XMATCH関数 | MATCH関数の強化版で、より柔軟に位置を検索できる |
| VLOOKUP関数 | 指定した値を検索して対応するデータを取得する |
| HLOOKUP関数 | 横方向に検索して対応するデータを取得する |
| XLOOKUP関数 | 縦・横どちらにも対応した高機能な検索関数 |
まとめ
INDEX関数は、「位置を指定してデータを取り出す」場面で非常に強力な関数です。MATCH関数と組み合わせれば、柔軟な検索・抽出が可能になります。
VLOOKUPから一歩進んだデータ操作をしたい人におすすめの関数です!
関連記事:INDEX + MATCH関数の使い方

