INDEX関数の使い方

範囲内の指定した位置にあるセルの値を返します。

200720102013201620192021365
構文
=INDEX(配列, 行番号, [列番号])
引数
  1. 配列必須
  2. 行番号必須
  3. 列番号省略できる
どんな関数か

INDEX は、範囲の「上から◯番目、左から◯番目」の値を返します。単体ではあまり使わず、MATCH と組み合わせるのが定番です(=INDEX(C:C, MATCH(F2,A:A,0)))。VLOOKUP と違って探す列が左端である必要がなく、左側の値も取り出せます。列を挿入しても壊れにくいのも利点です。範囲が1行か1列なら、位置の指定は1つで済みます。Excel 2021 以降なら XLOOKUP のほうが短く書けます。

使用例

D2 に =INDEX(A2:C4, 2, 3) を入れると、こうなります。

ABCD
1データ1データ2データ3結果
210203060
3405060
4708090

数式を入れたセル数式が見に行った値

結果: 60(A2:C4 の 2行目・3列目)

つまずきやすいところ

  • 行番号・列番号は、シートの行・列ではなく指定した範囲の中の位置
  • 1列だけの範囲なら、列番号は省略できる
  • MATCH と組み合わせると、VLOOKUP と違って左側の列も取り出せる

よくあるエラーと、その直し方

#REF!
範囲の外を指している行番号・列番号が範囲の大きさに収まっているか確かめる

INDEXを使う実例レシピ(8件)

同じ「検索・行列」の関数

検索・行列の関数をすべて見る(39件)