Excelの検索・参照関数:INDEX関数とは?
INDEX関数とは、指定した範囲(配列)の中から、行番号と列番号をもとに、該当するセルの値を取り出す関数です。
表の中から「行」と「列」を指定して値を取り出すのが主な用途で、MATCH関数と組み合わせて使うことも多く、柔軟な検索が可能です。
基本構文
=INDEX(範囲, 行番号, [列番号])
- 範囲: 検索対象の表または配列
- 行番号: 範囲の中で、何行目の値を取り出すか
- 列番号(省略可): 2次元配列のときに列も指定(1列のみなら不要)
使用例
以下のような表がA1:C3にあるとします:
A B C
---------------------
商品名 単価 在庫数
りんご 120 35
みかん 80 50
=INDEX(A2:C3, 1, 2) → 「120」を返す(1行目2列目)
=INDEX(C2:C3, 2) → 「50」を返す(C列の2行目)
特徴
- 参照元が左側でなくてもOK: VLOOKUPのような制限がない
- 列の挿入・削除に強い: 列番号でなく「列の位置」で参照
- MATCH関数との組み合わせで柔軟な検索が可能
MATCH関数と併用した応用例
=INDEX(B2:B4, MATCH("みかん", A2:A4, 0))
→ 「みかん」に一致する行をMATCHで探し、B列からその行の単価をINDEXで返す(結果は「80」)
行または列の省略も可能
- =INDEX(A1:A5, 3) → A3セルの値
- =INDEX({10, 20, 30}, 2) → 「20」
まとめ
- INDEX関数: 行番号・列番号を指定してセルの値を取得
- VLOOKUPよりも柔軟性が高く正確な参照が可能
- MATCH関数との併用で、動的な検索が実現できる
INDEX関数は、特に「表の左側に検索値がある場合」や「列の順番が変わる可能性がある場合」に強みを発揮します。
VLOOKUPでは難しい操作も、INDEXとMATCHの組み合わせで柔軟に対応できます。