ExcelのINDEX関数の使い方|基本構文から参照形式まで徹底解説
Excelのデータベースは、必要に応じて自由なサイズで作成できます。しかし、データが膨大になると管理が難しくなり、特定のセルに入力されたデータを探すだけでも、スクロール作業に多くの時間を費やしてしまいます。VLOOKUP関数だけでは物足りないと感じたら、ExcelのINDEX関数を活用してみましょう。
この記事では、ExcelのINDEX関数を使って、必要なデータを素早く取り出す方法をわかりやすく解説します。
※本ガイドのスクリーンショットはExcel 365のものですが、手順はExcel 2019およびExcel 2016でも同様に利用できます(UIの見た目が多少異なるだけです)。

ExcelのINDEX関数とは?
INDEX関数は、Excelをはじめとする表計算ツールに搭載されている関数で、数式に入力した位置情報に基づいて、リストやテーブルから値を取得します。一般的な書式は次のとおりです。
=INDEX(配列, 行番号, 列番号)
この数式では、まずINDEX関数を指定し、データを取り出すために必要な引数を渡します。引数の構成は以下のとおりです。
- 配列:データ範囲、または事前に定義した名前付き範囲
- 行番号:配列内での相対的な行の位置
- 列番号:配列内での相対的な列の位置
ここで重要なのは、指定した範囲内での行番号・列番号を入力するという点です。たとえば、データ範囲の2行目から値を取得したい場合、データベース全体の中で2行目でなくても、行番号には「2」を指定します。列番号についても同様です。
ExcelでINDEX関数を使う基本の手順
INDEX関数は、事前に定義したデータ範囲から情報を取り出すのに非常に便利なツールです。ここでは、文房具とペットフードを販売する架空の小売店の注文リストを例に解説します。この注文レポートには、注文番号、商品名、単価、販売数量が含まれています。

-
作業用のExcelデータベースを開きます。または、記事の例に沿って進めたい場合は、同じデータを新規シートに入力してください。
-
INDEX関数の結果を表示したいセルを選択します。最初の例では、「Dinosaur Treats」の注文番号を調べます。対象データがセルA7にあることがわかっているので、次の形式でINDEX関数を入力します。
=INDEX(A2:D7,6,1)

-
この数式は、セル範囲A2~D7の中から、その範囲内の6行目(シート上の7行目)・1列目(A列)の値を参照し、結果として「32321」を返します。

-
今度は、「Staples」の注文数量を調べたい場合は、次の数式を入力します。
=INDEX(A2:D7,4,4)
実行結果は「15」です。

セル参照を使った動的なINDEX関数
INDEX関数の行番号・列番号に別のセルを参照させることで、元の数式を書き換えることなく、動的に結果を切り替えることもできます。具体的には次のようなイメージです。

通常の数式との唯一の違いは、行番号と列番号をセル参照(この例ではF2とG2)で指定している点です。参照先のセルの内容を変更すると、INDEX関数の出力結果も自動的に更新されます。
ワンポイント:配列には名前付き範囲を使用することもできます。範囲に名前を付けておけば、数式がより読みやすくなります。
参照形式でINDEX関数を使う方法
INDEX関数は、配列の代わりに参照形式でも使用できます。この形式を使うと、複数の範囲(配列)を定義し、その中からデータを取得できます。関数の入力方法はほぼ同じですが、「領域番号」という引数が1つ追加されます。書式は次のとおりです。
=INDEX((参照1,参照2,…), 行番号, 列番号, 領域番号)
ここでも、同じサンプルデータベースを使って、参照形式のINDEX関数の動作を確認してみましょう。範囲内に3つの個別の配列を定義し、それらを2重の括弧で囲むのがポイントです。
-
作業用のExcelデータベースを開くか、空白のシートに同じデータを入力して例に沿って進めてください。
-
INDEX関数の結果を表示したいセルを選択します。この例では、再び「Dinosaur Treats」の注文番号を調べますが、今回は範囲内の3番目の配列に含まれるデータです。したがって、関数は次のように記述します。
=INDEX((A2:D3,A4:D5,A6:D7),2,1,3)
-
この数式は、データベースを2行ずつの3つの範囲に分割し、3番目の配列の2行目・1列目を参照します。その結果、「Dinosaur Treats」の注文番号が正しく出力されます。

INDEX関数をマスターすれば、大量のデータからも目的の値を瞬時に取り出せるようになり、VLOOKUP関数と組み合わせればさらに柔軟なデータ検索が可能になります。ぜひ日々の業務で活用してみてください。
-
ExcelのFIXED関数の使い方を徹底解説!数値を指定桁数のテキストに変換する方法
ExcelのFIXED関数とは? FIXED関数は、Microsoft Excelに標準搭載されている文字列(テキスト)関数の一つです。数値を指定した小数点以下の桁数で四捨五入し、テキスト形式に変換して返します。レポートや帳票など、表示形式を整えた数値を文字列として扱いたい場合に便利な関数です。 FIXED関数の書式と引数 FIXED関数の書式は =FIXED(数値, [小数点以下の桁数], [桁区切り]) です。各引数の意味は以下のとおりです。 数値(Number):四捨五入してテキストに変換したい数値を指定します。この引数は必須です。 小数点以下の桁数(Decimals):小数点の右側に
-
ExcelのRANDBETWEEN関数の使い方|指定した範囲内の乱数を簡単に生成する3つの方法
Microsoft ExcelのRANDBETWEEN(ランドビトウィーン)関数は、数学/三角関数に分類される関数の一つで、指定した2つの数値の間からランダムな整数を返します。サイコロの目のような1〜6の乱数を作りたいときや、くじ引きの番号、テストデータなどを自動生成したい場合にとても便利です。 この記事では、RANDBETWEEN関数の書式と、セルへの直接入力、「関数の挿入」ダイアログボックス、「数式」タブを使った3つの方法を、初心者の方にもわかりやすく解説します。 RANDBETWEEN関数の書式 RANDBETWEEN関数の書式は以下の通りです。 =RANDBETWEEN(最小値, 最大