Excelで「特定の位置にあるデータを取り出したい」と感じたことはないでしょうか。
例えば「3行目の値だけ欲しい」「指定した列のデータを取得したい」といった場面です。
このようなときに便利なのがINDEX関数です。
検索系の関数として知られていますが、実は「セル参照を柔軟に扱う関数」としても重要な役割があります。
INDEX関数は、VLOOKUPやXLOOKUPと組み合わせて使われることも多く、基礎を理解しておくと応用の幅が大きく広がります。
この記事では「使い方」「具体例」「エラーの原因」まで、初心者でも理解できる形で順番に解説していきます。
目次
INDEX関数とは?セル参照から値を取り出す仕組みを解説
INDEX関数とは、指定した範囲(配列)の中から、行番号と列番号をもとに値を取り出す関数です。
簡単に言うと「表の中の位置を指定して値を取得する」ための関数です。
基本構文は以下のとおりです。
=INDEX(配列, 行番号, 列番号)
「配列」はデータの範囲を指します。
「行番号」と「列番号」で、その範囲内のどの位置の値を取り出すかを決めます。
INDEX関数の使い方と配列の意味
配列とは、単純に「セルの範囲」のことです。
例えば A1:C4 のような範囲を指定すると、その中から位置を指定して値を取得できます。
具体例①
| A | B | C | |
|---|---|---|---|
| 1 | 商品 | 価格 | 数量 |
| 2 | 商品A | 100 | 5 |
| 3 | 商品B | 200 | 3 |
| 4 | 商品C | 150 | 8 |
この表で「商品Bの価格」を取り出したい場合は以下のように書きます。
=INDEX(A2:C4, 2, 2)
A2:C4 の範囲で、2行目・2列目を指定しています。
つまり B3セルの「200」が返されます。
具体例②
同じ表で「商品Cの数量」を取得する場合です。
=INDEX(A2:C4, 3, 3)
範囲内の3行目・3列目なので、C4セルの「8」が返されます。
実務での補足コメント
INDEX関数は「位置がわかっているデータ」を取得するのに向いています。
一方で「条件で検索する」場合は、MATCH関数と組み合わせることが多くなります。
INDEX関数の使い方(構文)とは?引数の意味をやさしく解説
INDEX関数はシンプルな構文ですが、それぞれの引数の意味を理解することが重要です。
特に初心者の方は「行番号」「列番号」でつまずきやすいポイントです。
INDEX関数の使い方と行番号の考え方
行番号は、指定した範囲の中で何行目かを表します。
ここで注意したいのは「シート全体ではなく、範囲の中での位置」という点です。
具体例①
範囲が A2:C4 の場合、A2が1行目になります。
A3は2行目、A4は3行目です。
具体例②
もし「3」と指定すると、範囲内の3行目なのでA4の行になります。
Excelの行番号(4行目)とは一致しないので注意が必要です。
INDEX関数の使い方と列番号の考え方
列番号も同様に、範囲内での位置を指定します。
具体例①
A2:C4 の場合
- A列 → 1列目
- B列 → 2列目
- C列 → 3列目
具体例②
列番号を「2」と指定すると、B列の値が対象になります。
実務での補足コメント
実務では、範囲の開始位置をどこにするかが重要になります。
範囲の取り方によって行番号・列番号が変わるため、ミスの原因になりやすいポイントです。
INDEX関数の具体例とは?実務でよく使うパターンを紹介
INDEX関数は単体でも使えますが、実務では他の関数と組み合わせて使うケースが多いです。
ここでは基本的な使い方を押さえた上で、実務に近い形の例を紹介します。
INDEX関数の使い方と1列だけの配列
1列だけの範囲でもINDEX関数は使えます。
具体例①
| A | |
|---|---|
| 1 | 売上 |
| 2 | 100 |
| 3 | 200 |
| 4 | 150 |
3行目の値を取得する場合は以下のとおりです。
=INDEX(A2:A4, 2)
この場合、列番号は省略できます。
結果はA3の「200」が返されます。
具体例②
2列目だけを対象にすることも可能です。
=INDEX(B2:B4, 3)
B4の値が返されます。
INDEX関数の使い方とMATCH関数の組み合わせ
検索機能として使う場合は、MATCH関数と組み合わせます。
具体例①
商品名から価格を取得する場合
=INDEX(B2:B4, MATCH(“商品B”, A2:A4, 0))
MATCH関数で行番号を取得し、その位置をINDEXで参照しています。
具体例②
列も動的に取得することも可能です。
より柔軟なデータ抽出ができるようになります。
実務での補足コメント
VLOOKUPでは左方向に検索できませんが、INDEXとMATCHを組み合わせることで柔軟に対応できます。
そのため、実務ではこちらの組み合わせが使われる場面も多くあります。
INDEX関数ができない原因とは?よくあるエラーと対処法
INDEX関数はシンプルな関数ですが、いくつかの典型的なミスがあります。
ここでは初心者がつまずきやすいポイントを整理します。
INDEX関数のエラー原因①:範囲と行番号の不一致
指定した行番号が範囲を超えているとエラーになります。
具体例①
A2:A4 の範囲で「5」を指定するとエラーになります。
対処法
- 範囲の行数を確認する
- 行番号が範囲内か見直す
INDEX関数のエラー原因②:列番号の指定ミス
列番号を間違えると意図しない値が返ります。
具体例②
A2:C4 で「列番号4」を指定するとエラーになります。
対処法
- 範囲の列数を確認する
- 正しい列番号を指定する
INDEX関数のエラー原因③:MATCH関数との組み合わせミス
MATCH関数の結果が正しくないと、INDEXも正しく動きません。
対処法
- MATCHの検索範囲と条件を見直す
- 完全一致(0)になっているか確認する
実務での補足コメント
エラーが出た場合は「範囲」「行番号」「列番号」の3点を順番に確認すると原因が特定しやすくなります。
焦らず1つずつ見直すことが重要です。
INDEX関数の使い方まとめとは?基本と応用の整理
INDEX関数は、指定した位置の値を取り出すシンプルな関数です。
しかし、使い方を理解すると非常に応用範囲が広い関数でもあります。
- 範囲内の位置を指定して値を取得できる
- 行番号・列番号は範囲内の相対位置で考える
- MATCH関数と組み合わせることで検索が可能になる
実務では「検索」「抽出」「データ連携」などさまざまな場面で活用されます。
特にデータ量が増えるほど、その効果を実感しやすい関数と言えます。
まずはシンプルな例から試してみて、少しずつ使い方に慣れていくのがおすすめです。



