INDEX 関数

INDEX 関数はテーブルまたはセル範囲にある値、あるいはその値のセル参照を返します。

お使いのブラウザーではビデオがサポートされていません。 Microsoft Silverlight、Adobe Flash Player、Internet Explorer 9 のいずれかをインストールしてください。

INDEX 関数には、次の 2 つの使い方があります。

  • 指定したセルまたはセルの配列の値を求める場合は、「配列形式」を参照してください。

  • 指定したセルの参照を求める場合は、「セル範囲形式」を参照してください。

配列形式

説明

行番号と列番号で指定されるテーブルまたは配列の要素の値を返します。

INDEX 関数の 1 番目の引数が配列定数のときは、配列形式を使います。

書式

INDEX(配列, 行番号, [列番号])

INDEX 関数の書式には、次の引数があります。

  • 配列    必須。セル範囲または配列定数を指定します。

    • 配列が 1 行または 1 列のみの場合、それぞれ行番号または列番号を省略することができます。

    • 配列が複数行および複数列で構成され、行番号または列番号のどちらか一方しか指定されていない場合、配列の中にある行または列全体の配列が返されます。

  • 行番号    必須。配列の中にあり、値を返す行を数値で指定します。行番号を省略した場合は、必ず列番号を指定する必要があります。

  • 列番号    任意。配列の中にあり、値を返す列を数値で指定します。列番号を省略した場合は、必ず行番号を指定する必要があります。

解説

  • 行番号と列番号の両方が使用されている場合は、行番号と列番号が交差する位置にあるセルの値が返されます。

  • 行番号または列番号を 0 に設定すると、それぞれ列全体または行全体の値の配列が返されます。配列として返される値を利用するには、INDEX 関数を配列数式として横方向のセル範囲に入力するか、縦方向のセル範囲に入力します。配列数式を入力するときは、Ctrl キーと Shift キーを押しながら Enter キーを押します。

    注: Excel Web App で配列数式を作成することはできません。

  • 行番号と列番号には、配列内のセルを指定する必要があります。配列の範囲外のセルを指定すると、エラー値 #REF! が返されます。

使用例

使用例 1

これらの例では、INDEX 関数を使用して、行と列の交差する位置にあるセル内の値を検索します。

次の表のサンプル データをコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。必要に応じて、列幅を調整してすべてのデータを表示してください。

データ

データ

リンゴ

レモン

バナナ

ナシ

数式

説明

結果

=INDEX(A2:B3,2,2)

セル範囲 A2:B3 の 2 行目と 2 列目で交差するセル B3 の値を取り出します。

ナシ

=INDEX(A2:B3,2,1)

セル範囲 A2:B3 の 2 行目と 1 列目で交差するセル A3 の値を取り出します。

バナナ

使用例 2

この例では、配列数式に INDEX 関数を使用して、2 x 2 の配列で指定された 2 つのセルの値を検索します。

この場合は、A1:A2 のように、2 つ垂直方向のセルを選択し、数式 =INDEX({1,2;3,4},0,2) を最初のセルに貼り付け、Ctrl キーと Shift キーを押しながら Enter キーを押します。配列数式として入力すると、Excel が 2 番目のセルに自動的に数式を貼り付けます。

数式

説明

結果

=INDEX({1,2;3,4},0,2)

配列の中の最初の行の 2 列目の値を取り出します。配列の中で、最初の行に 1、2 と、2 番目の行に 3、4 があります。

2

配列の中の 2 行目の 2 列目の値を取り出します (上記の配列と同じ)。

4

注: これは配列数式であり、Ctrl + Shift + Enter キーを使って入力する必要があります。Excel では数式が自動的に中かっこ {} で囲まれます。手動で入力しようとすると、Excel には数式がテキストとして表示されます。Ctrl + Shift + Enter キーを使用しないと、数式は #VALUE! エラーを返します。

ページの先頭へ

セル範囲形式

説明

指定された行と列が交差する位置にあるセルの参照を返します。隣接しない複数のセル範囲を指定した場合、その中から任意の領域を選択できます。

書式

INDEX(参照, 行番号, [列番号], [領域番号])

INDEX 関数の書式には、次の引数があります。

  • 対象範囲    必須。1 つまたは複数のセルの参照を指定します。

    • 範囲として複数選択された領域を指定する場合は、範囲をかっこ () で囲み、複数選択を構成するそれぞれの領域を半角のコンマ (,) で区切ります。

    • 範囲で指定した各領域が 1 行または 1 列である場合、行番号または列番号はそれぞれ省略することができます。たとえば、範囲が 1 行のみである場合は、INDEX(範囲,列番号) と指定できます。

  • 行番号    必須。範囲の中にあり、セル参照を返すセルの行位置を数値で返します。

  • 列番号    任意。範囲の中にあり、セル参照を返すセルの列位置を数値で返します。

  • 領域番号    任意。行番号と列番号が交差する位置を返す参照の範囲を 1 つ選択します。最初に選択または入力された領域の領域番号が 1 となり、以下、2 番目の領域は 2 というように続きます。領域番号を省略すると、INDEX で領域 1 が使用されます。 ここで表示される領域はすべて 1 つのシート上に置かれている必要があります。 他の領域と同じシート上に存在しない領域を指定した場合、#VALUE! エラーが発生します。 相互に異なるシート上に置かれている範囲を使用する必要がある場合は、INDEX 関数の配列形式を使用し、別の関数を使用して配列を形成する範囲を計算することをお勧めします。 たとえば、CHOOSE 関数を使用して、どの範囲が使用されるかを計算することができます。

たとえば、範囲として (A1:B4,D1:E4,G1:H4) のような複数選択領域が指定されている場合、領域番号の 1 は A1:B4、領域番号の 2 は D1:E4、領域番号の 3 は G1:H4 となります。

解説

  • INDEX 関数では、まず範囲と領域番号を使って特定の範囲が選択され、次に行番号と列番号から特定のセルが選択されます。行番号の 1 は選択された範囲の先頭行 (上端行) を指定し、列番号の 1 は選択された範囲の先頭列 (左端列) を指定します。INDEX 関数が返すセル参照は、行番号と列番号が交差する点にあるセルの参照となります。

  • 行番号または列番号に 0 (ゼロ) を指定すると、列または行全体の参照がそれぞれ返されます。

  • 行番号、列番号、領域番号には、範囲内のセルを指定する必要があります。範囲外のセルを指定すると、エラー値 #REF! が返されます。行番号と列番号を省略すると、領域番号で指定された範囲内の領域が返されます。

  • INDEX 関数の計算結果はセル参照となり、他の数式はこれを通常のセル参照と同様に扱います。INDEX 関数の計算結果は、セル参照または値として使用されます。たとえば、CELL("width",INDEX(A1:B2,1,2)) という数式は、CELL("width",B1) と同じ結果になります。これは CELL 関数が、INDEX 関数の計算結果を通常のセル参照と同じであると解釈するためです。一方、2*INDEX(A1:B2,1,2) のような数式では、INDEX 関数の計算結果はセル B1 に入力されている数値に変換されます。

注: CELL 関数は Excel Web App では利用できません。

使用例

次の表のデータの例をコピーし、新しい Excel ワークシートのセル A1 に貼り付けます。数式を選択して、F2 キーを押し、さらに Enter キーを押すと、結果が表示されます。必要に応じて、列幅を調整してすべてのデータを表示してください。

果物

価格

個数

リンゴ

¥69

40

バナナ

¥34

38

レモン

¥55

15

オレンジ

¥25

25

ナシ

¥59

40

アーモンド

¥280

10

カシューナッツ

¥355

16

ピーナッツ

¥125

20

クルミ

¥175

12

数式

説明

結果

=INDEX(A2:C6, 2, 3)

セル範囲 A2:C6 の 2 行目と 3 列目で交差するセル C3 の値を取り出します。

38

=INDEX((A1:C6, A8:C11), 2, 2, 2)

領域番号 2 のセル範囲 A8:C11 の 2 行目と 2 列目で交差するセル B9 の値を取り出します。

1.25

=SUM(INDEX(A1:C11, 0, 3, 1))

セル範囲 A1:C11 の領域番号 1 にある 3 列目のセル範囲 C1:C11 の合計を求めます。

216

=SUM(B2:INDEX(A2:C6, 5, 2))

セル B2 と、セル範囲 A2:C6 の 5 行目と 2 列目の交差するセル B6 の合計を求めます。

2.42

ページの先頭へ

関連項目

VLOOKUP 関数

MATCH 関数

INDIRECT 関数

配列数式のガイドラインと例

検索/行列関数 (参照)

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×