Excelには範囲内の行、列を指定して値を取得するINDEX関数が用意されています。ここではINDEX関数の機能と使い方について解説します。
関連リンク
MATCH関数と組み合わせてVLOOKUP関数のように使う方法は下記。
INDEX関数とMATCH関数で対応値を検索する方法
INDEX関数とは
ExcelのINDEX関数は、指定範囲内の行番号と列番号を指定して該当する値を返します。下記の例では「B3:D12」の範囲内で3行目かつ2列めの値を参照し、「のり」を返しています。
この関数の対応バージョンはExcel 2003以降です
INDEX関数の構文
- 配列or参照:セル範囲または配列定数を指定します。
- 行番号:参照または配列内の行の位置を設定します。参照範囲が横方向に一行かつ列番号が指定されていない場合は自動で列番号として読み取られます。「0」を指定した場合、列全体を返します。
- [列番号]:参照または配列内の列の位置を設定します。参照範囲が1行のみ、または1列のみであれば設定する必要はありません。参照範囲が2次元であれば列番号として設定します。「0」を指定した場合、行全体を返します。
- [領域番号]:隣接しない2つ以上の範囲を第1引数で指定した際に使用する引数です。例えば2つの隣接しない範囲を指定したとき1つ目の範囲を選択する場合は1を指定し、2つ目の範囲を選択する場合は2を指定します。
INDEX関数の使用例
使用例1:基本的な使い方
B3からD12までを参照範囲として、3行目かつ2列目の値である「のり」を返しています。
=INDEX(B3:D12,3,2)
結果 → のり
使用例2:参照範囲が1行の場合
参照範囲がB3からD3までの一行のみで第3引数を設定していない場合は第2引数は列番号として認識され、この例の場合はハサミを返します。=INDEX(B3:D3,1,2)と設定しても同じ結果が表示されます。
=INDEX(B3:D3,C6)
結果 → ハサミ
使用例3:列番号に0を指定した場合
列番号に0を指定しているので行全体の値を返しています。
=INDEX(B3:D12,B15,C15)
結果 → 「A003」「のり」「80」の複数セル
使用例4:2つの表の中からインデックス
第1引数に更に括弧を追加して、その中に2つのセル範囲をカンマ区切りで指定すると2つのセル範囲を設定できます。そのうえで2つ目の範囲からインデックスしたい場合は4つ目の引数に2を設定します。
=INDEX((B3:D12,F3:H12),B15,C15,D15)
結果 → Seaweed
INDEX関数の要点
- 行番号と列番号の両方が指定されている場合、INDEX関数は行番号と列番号の交点にあるセルの値を返します。
- 行番号に0に設定されるとインデックスは列全体の値の配列を返します。これらの配列値を使用するには、INDEX関数を水平範囲の配列数式として入力するか、配列を別の関数にわたします。
- 列番号にが0に設定されるとINDEX関数は、行全体の値の配列を返します。これらの配列値を使用するには、INDEX関数を垂直範囲の配列数式として入力するか、配列を別の関数にわたします。
- INDEX関数はMATCH関数と組み合わせて、VLOOKUP関数のような機能をもたせることが可能です
関連記事
【エクセル】INDEX関数とMATCH関数で対応値を検索する方法
【エクセル】MATCH関数の使い方(範囲内の任意の値の位置を取得)
おすすめの解説動画
非常にわかりやすく解説しているのでおすすめの動画です。
ショートカットキーの練習できます
当サイトはショートカットキーの練習を実際の動きを確認しながら練習できる機能がついています。繰り返し指を動かして練習ができるので、ゲーム感覚で遊んでいくうちに自然とショートカットキーが使えるようになれます。ショートカットキーは暗記するよりも実際に手を動かして練習していったほうが習得が早くなるので、是非当サイトをブックマークに登録し定期的に練習してみてください。下記のSTARTキーを押下すると練習を始められます。
※推奨ブラウザ Google Chrome