Excel関数入門:INDEX関数の使い方

「表の中から特定の位置にあるデータを取り出したい」ときに便利なのが INDEX関数 です。VLOOKUPよりも柔軟な参照が可能で、多くの場面で活躍します。

この記事では、INDEX関数の基本的な使い方から、MATCH関数との組み合わせ、実務での活用例までをわかりやすく解説します。


INDEX関数とは?

INDEX関数は、指定した範囲から、行番号と列番号に応じて値を取り出す関数です。

書式(配列形式)

=INDEX(範囲, 行番号, [列番号])

引数の意味

  • 範囲:参照対象のセル範囲
  • 行番号:何行目か(範囲の中で)
  • 列番号(省略可):何列目か(省略すると1列目)

基本的な使い方

例 1:表の中から特定の値を取り出す

A列(名前)B列(点数)
佐藤85
鈴木90
高橋78
=INDEX(B2:B4, 2) → 90(2行目の値)

例 2:2次元の表から行列指定で値を取得

=INDEX(A2:B4, 3, 1) → 高橋

→ A2:B4 の範囲から「3行目・1列目」の値を取り出す


よくある活用例

1. 縦横に交差するセルの値を取得

=INDEX(B2:D5, 2, 3)

→ 2行3列目のデータを返す

2. MATCH関数と組み合わせて動的に参照

=INDEX(A2:A10, MATCH("鈴木", A2:A10, 0))

→ 「鈴木」が何行目にあるかをMATCHで調べ、その位置のデータをINDEXで取得


MATCH関数との組み合わせ例

INDEX関数は MATCH関数とセットで使うと、検索結果をもとに自動で値を取り出すことができます。

例:科目名に対応する点数を取得

A列B列C列
国語数学英語
809070
=INDEX(A2:C2, MATCH("数学", A1:C1, 0)) → 90

注意点

  • 行番号や列番号は、指定範囲内での番号(シート全体ではない)
  • 範囲外の番号を指定するとエラーになります
  • 絶対参照($)を使って範囲を固定すると便利

INDEX関数と他の関数の比較

関数特徴
INDEX行・列番号で正確に値を取得
VLOOKUP左端の列から縦に検索(列の追加に弱い)
HLOOKUP上端の行から横に検索
XLOOKUP行・列を問わず柔軟に検索(Office 2021以降導入)

まとめ

INDEX関数は、「位置を指定してデータを取り出す」場面で非常に強力な関数です。MATCH関数と組み合わせれば、柔軟な検索・抽出が可能になります。VLOOKUPから一歩進んだデータ操作をしたい人におすすめの関数です!