INDEX関数 – 検索/行列

INDEX関数 – 範囲や配列から指定位置の値を取り出す関数


1. 使い方と活用例

INDEX関数は、指定した範囲または配列から、行番号・列番号に基づいて特定の値を返す関数です。
データの検索や表形式データからの抽出処理に広く利用され、MATCH関数などと組み合わせることで柔軟な検索・抽出が可能になります。

2. 基本の書式

=INDEX(array, row_num, [column_num])
=INDEX(reference, row_num, [column_num], [area_num])

3. 引数の説明

  • array – 必須。データを含む配列またはセル範囲。
  • row_num – 必須。何行目の値を取得するかを指定。
  • [column_num] – 省略可能。何列目の値を取得するかを指定(1列のみなら省略可)。
  • reference – 複数範囲のときに使用。参照の集合から選ぶときに使います。
  • [area_num] – 複数範囲指定時に、どの範囲から値を取得するかを指定。

4. 使用シーン

  • 表形式のデータから、指定した行・列の交差位置の値を取得したい場合。
  • MATCH関数と組み合わせて、条件に合致する値を動的に取り出したい場合。
  • VLOOKUPの代替として、左方向の列を検索したい場合。

5. 応用のポイント

INDEX関数はセルの値を直接返す関数で、MATCH関数などと組み合わせることで、柔軟な条件付き参照が可能になります。
また、OFFSET関数やINDIRECT関数と違い、計算量が少ないため大規模データにおいても高速に動作するのが特長です。

6. 具体例とその解説

次のような表が A1:C3 にあるとします。
A1:C3 →
名前 | 年齢 | 地域
田中 | 28 | 東京
鈴木 | 35 | 大阪

=INDEX(A2:C3, 2, 3)

この式は、範囲 A2:C3 の「2行目3列目」の値、つまり「大阪」を返します。

MATCH関数と組み合わせた例

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

この式は、「鈴木」が何行目かをMATCHで特定し、INDEXでその値を返します(結果:「鈴木」)。

7. 関連関数の紹介

  • MATCH関数 – 指定した値が範囲内の何番目にあるかを返す関数
  • VLOOKUP関数 – 範囲の左端列からの縦方向検索を行う関数
  • HLOOKUP関数 – 範囲の上端行からの横方向検索を行う関数
  • XLOOKUP関数 – より柔軟な検索が可能な新しい検索関数
  • OFFSET関数 – セルからの相対位置にあるセルを参照する関数

8. まとめ

INDEX関数は、行番号・列番号に基づいて正確な位置のデータを取り出すための高性能な関数です。
MATCH関数との併用で柔軟な条件検索ができ、VLOOKUPの制約を克服したい場面でも非常に有効です。

9. 対応バージョン

Excel 2003以降のすべてのバージョンで使用可能です。
Excel 365、Excel 2019、Excel Online にも対応しています。