INDEX関数:領域内の行番号と列番号が示すセルの参照を取得する

広告

INDEX 関数は Excel で用意されている関数の一つで、領域内の指定した行番号と列番号が示すセルへの参照を取得します。また同じ関数名で配列定数内の指定した行番号と列番号が示す値を取得することもできます。ここでは Excel における INDEX 関数の使い方について解説します。

(2021 年 10 月 05 日公開 / 2021 年 10 月 05 日更新)

INDEX関数の使い方

INDEX 関数の一つ目の利用方法は、領域内の指定した行番号と列番号が示すセルの参照を取得します。

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

1 番目の引数に対象の領域となるセル範囲を指定します。複数のセル範囲を指定することができます。 2 番目の引数に行番号を指定します。領域の先頭の行の行番号が 1 となります。 3 番目の引数に列番号を指定します。領域の先頭の列の列番号が 1 となります。 INDEX 関数は行番号と列番号で指定されたセルへの参照を返します。

下記では領域として C3:G6 、行番号として 3 、列番号として 2 を指定しています。結果として D5 セルへの参照が返されます。

=INDEX(C3:G6,3,2)

INDEX関数のサンプル(1)

複数の領域を指定する

INDEX 関数では複数の領域を指定することができます。複数の領域を指定する場合は、 1 番目の引数に (セル範囲1,セル範囲2,...) のようにセル範囲をカンマで区切って記述し、全体を ( と ) で括って指定します。そして 4 番目の引数でどの領域を対象にするのかを指定します。最初の領域の領域番号が 1 、次の領域の領域番号が 2 となっています。

下記では領域として C3:G6 と C10:G13、行番号として 2 、列番号として 3 を指定しています。結果として E11 セルへの参照が返されます。

=INDEX((C3:G6,C10:G13),2,3,1)

INDEX関数のサンプル(2)

なお領域番号を省略した場合は 1 が指定されたものとして扱われます。

配列の中の行と列が示すセルの値を取得する

INDEX 関数の二つ目の利用方法は、配列定数内の指定した行と列が示すセルの値を取得します。セル参照ではなく値を返す点に注意してください。

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

1 番目の引数に対象の範囲を配列定数を使って指定します。 2 番目の引数に行番号を指定します。領域の先頭の行の行番号が 1 となります。 3 番目の引数に列番号を指定します。領域の先頭の列の列番号が 1 となります。 INDEX 関数は行番号と列番号で指定されたセルに入力されている値を返します。

※ 配列定数については「配列定数の利用方法」を参照されてください。

例えば対象の範囲として {30,18,54:28,45,32} 、行番号が 1 、列番号が 3 だった場合、取得する値は 54 となります。

=INDEX({30,18,54;28,45,32},1,3)
--> 54

行番号に 0 を指定するか省略した場合、指定した列全体を配列として返します。列番号に 0 を指定するか省略した場合、指定した行全体を配列として返します。行番号および列番号の両方に 0 を指定するか省略した場合、配列全体を配列として返します。

下記では対象の範囲として {30,18,54:28,45,32} 、行番号が 1 、列番号を省略した場合です。この場合、複数のセルの値が返されるので、配列変数として入力する必要があります。まず結果を表示するセル範囲を選択した選択した上で、数式バーに次のように入力してください。

=INDEX({30,18,54;28,45,32},1)

INDEX関数のサンプル(3)

入力が終わったら Ctrl+Shift+Enter キーを押してください。あらかじめ選択していたセル範囲に INDEX 関数が返す複数の値がそれぞれ表示されます。

INDEX関数のサンプル(4)

※ 配列数式については「配列数式の利用方法」を参照されてください。

なお Microsoft 365 の環境であれば、戻り値を表示するセルに対して直接 =INDEX({30,18,54;28,45,32},1) を入力し、 Enter キーを押すだけで構いません。

INDEX関数のサンプル(5)

INDEX関数のサンプル(6)

INDEX関数のサンプル

それでは実際に INDEX 関数を使ってみます。 Excel のシートに対象の数値を次のように入力しました。

INDEX関数のサンプル(1)

取得した値を表示する C17 セルを選択し、次のように入力しました。 1 番目の引数に対象の領域として (C3:G6,C9:G12) 、 2 番目の引数に行番号が入力されている C15 セル、 3 番目の引数に列番号が入力されている C16 セル、 4 番目の引数に領域番号が入力されている C14 セルを指定しました。

=INDEX((C3:G6,C9:G12),C15,C16,C14)

INDEX関数のサンプル(2)

Enter キーを押すと、 C17 セルには次のように表示されます。デフォルトで入力した領域番号 1 、行番号 1 、列番号 1 が示す C3 セルの値を取得し表示しました。

INDEX関数のサンプル(3)

それでは領域番号として 2 、行番号として 3 、 列番号として 2 を入力したあとで Enter キーを押すと、 C17 セルには D11 セルの値を取得し表示します。

INDEX関数のサンプル(4)

関数の挿入を使ってINDEX関数を入力する

INDEX 関数を入力する場合に関数の挿入を使って行う方法を試してみます。関数を挿入するセルをクリックして選択したあとで、関数の挿入をクリックします。

関数の挿入を使ってINDEX関数を入力する(1)

「関数の挿入」ダイアログが表示されたら関数名のところで「INDEX」をクリックしてください。そのあとで「OK」をクリックしてください。

関数の挿入を使ってINDEX関数を入力する(2)

INDEX 関数は引数のパターンが 2 つあり、どちらを使用するのかを選択します。今回は「参照,行番号,列番号,領域番号」をクリックして選択したあとで「OK」をクリックしました。

関数の挿入を使ってINDEX関数を入力する(3)

「関数の引数」ダイアログが表示されたら、 1 番目の引数に対象の領域となるセル範囲を指定します。 1 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセル範囲を Excel 上で選択して下さい。

関数の挿入を使ってINDEX関数を入力する(4)

関数の挿入を使ってINDEX関数を入力する(5)

ダイアログの 1 番目の引数のところに先ほどクリックしたセル範囲が表示されます。

関数の挿入を使ってINDEX関数を入力する(6)

続いて 2 番目の引数に行番号が入力されたセルを指定します。 2 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセル範囲を Excel 上で選択して下さい。

関数の挿入を使ってINDEX関数を入力する(7)

関数の挿入を使ってINDEX関数を入力する(8)

ダイアログの 2 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってINDEX関数を入力する(9)

続いて 3 番目の引数に列番号が入力されたセルを指定します。 3 番目の引数を入力するテキストボックスをクリックして選択してから引数に入力するセル範囲を Excel 上で選択して下さい。

関数の挿入を使ってINDEX関数を入力する(10)

関数の挿入を使ってINDEX関数を入力する(11)

ダイアログの 3 番目の引数のところに先ほどクリックしたセルが表示されます。

関数の挿入を使ってINDEX関数を入力する(12)

今回領域は 1 つしか指定していないので、 4 番目の引数への入力は省略します。

引数の指定が終わると結果としてセルに表示される値も表示されます。最後に「OK」をクリックしてください。

関数の挿入を使ってINDEX関数を入力する(13)

最初に選択したセルに INDEX 関数が入力され、対象のセルに入力されている値がセルに表示されます。

関数の挿入を使ってINDEX関数を入力する(14)

-- --

Excel における INDEX 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

関連記事 (一部広告含む)
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。