Excelで作成した大規模な表から、「上から3行目、左から4列目のデータ」のように、特定の位置にある値を正確に取り出したいと思ったことはありませんか?そんな時に絶大なパワーを発揮するのがINDEX
(インデックス)関数です。
INDEX
関数は、表(セル範囲)と行番号、列番号を指定するだけで、目的のデータをピンポイントで抽出できる非常に便利な関数です。今回は、添付画像の「支店別四半期別売上表」を例に、その使い方を分かりやすく解説します。
今回のゴール:指定した行と列に該当する売上データを抽出する
以下の「支店別四半期別売上表」の中から、C2セルで指定された行番号(2)と、C3セルで指定された列番号(3)が交差する場所の売上データを、C4セルに表示させることが目標です。
サンプルデータ

以下は、上記画像のExcelデータですので、ダウンロードして練習として使用ください。
Excel-g723-1.xlsx (ダウンロード)
まずは、以下のサンプルデータをExcelシートにコピーして、実際に操作を試してみてください。
A | B | C | D | E | |
1 | 位置検索 | ||||
2 | 行(支店) | 2 | |||
3 | 列(四半期) | 3 | |||
4 | 検索結果(売上高) | (ここに数式を入力) | |||
5 | |||||
6 | 支店別四半期別売上表 | ||||
7 | 支店 | 第1四半期 | 第2四半期 | 第3四半期 | 第4四半期 |
8 | 福岡 | 9,015,919 | 9,771,434 | 7,977,782 | 10,667,848 |
9 | 千葉 | 7,094,890 | 9,173,321 | 9,233,890 | 9,380,930 |
10 | 埼玉 | 6,591,910 | 7,999,064 | 6,851,574 | 8,813,211 |
解決策:INDEX関数の使い方
セルC4に、以下の数式を入力します。
Excel
=INDEX(B8:E10, C2, C3)
この数式だけで、指定した2行目・3列目の値「9,233,890」が正確に抽出されます。
数式の解説
INDEX
関数の構文はとてもシンプルです。
INDEX(参照,行番号,列番号)
各引数が何を示しているのか、一つずつ見ていきましょう。
- 参照 (array):
B8:E10
1111- データを取得したい表全体の範囲を指定します。今回の例では、売上データが入力されている
B8
セルからE10
セルまでが対象です。
- データを取得したい表全体の範囲を指定します。今回の例では、売上データが入力されている
- 行番号 (row_num):
C2
222222222- 参照の範囲内で、上から何行目のデータを取得したいかを数値で指定します。ここでは、C2セルの値「2」が使われます。つまり、参照範囲(
B8:E10
)の中の2行目(千葉支店の行)を指します。
- 参照の範囲内で、上から何行目のデータを取得したいかを数値で指定します。ここでは、C2セルの値「2」が使われます。つまり、参照範囲(
- 列番号 (column_num):
C3
333333333- 参照の範囲内で、左から何列目のデータを取得したいかを数値で指定します。ここでは、C3セルの値「3」が使われます。つまり、参照範囲(
B8:E10
)の中の3列目(第3四半期の列)を指します。
- 参照の範囲内で、左から何列目のデータを取得したいかを数値で指定します。ここでは、C3セルの値「3」が使われます。つまり、参照範囲(
この3つの引数を組み合わせることで、
INDEX
関数は「B8:E10
の範囲の中から、2行目と3列目が交わる場所にある値を返してください」という命令を実行し、セルD9の値である「9,233,890」を正確に返してくれるのです 4。
まとめ
INDEX
関数は、表の中の位置(座標)が分かっていれば、どんな場所の値でも自由自在に取り出すことができます。
一見すると地味な関数に思えるかもしれませんが、後日解説するMATCH
関数と組み合わせることで、VLOOKUP
関数を超える柔軟で強力な検索ツールになります。まずはこの基本的な使い方をしっかりとマスターして、データ抽出の引き出しを一つ増やしておきましょう。
コメント