Excel セル範囲、行数、列数を指定して値を取得(INDEX関数)
INDEX関数はセル範囲と行番号、列番号を指定して該当するセルの値を取得する関数です。
単体で使うことは少なく他の関数と組み合わせて使用します。
仕様
=INDEX(配列・参照,行番号,列番号,領域番号)
引数 | 省略時の値 | 説明 |
---|---|---|
配列・参照 | 省略不可 | 検索するセル範囲を指定。 |
行番号 | 列番号がなければ省略不可 | 配列の何行目を取り出すのかを数値で指定。 (一番上の行を指定する場合は1) |
列番号 | 行番号がなければ省略不可 | 配列の何列目を取り出すのかを数値で指定。 (一番左の列を指定する場合は1) |
領域番号 | 配列・参照に複数の範囲を指定した場合、省略不可 | 配列・参照に複数の範囲を指定した場合、どの範囲を使用するか数値で指定。(先頭が1) |
使用例
INDEX関数で青いセル範囲を検索する例です。

行番号と列番号の交差するセルを取得します。

列番号を省略か0を指定すると、その行を全て取得するスピルになります。

行番号を省略か0を指定すると、その列を全て取得するスピルになります。

範囲を超える指定を行うと#REF!エラーとなり取得に失敗します。

引数4:領域番号の使い方
引数4の領域番号は引数1に参照演算子で複数の範囲を指定した場合に、
どの範囲を利用するかを指定する引数です。
引数1に(C3:G7,J3:N7)を指定します。()は必須です。この範囲は二つ以上でも構いません。
その上で引数4の領域番号を指定します。
領域番号に1を指定するとC3:G7から検索し、2を指定するとJ3:N7から検索します。
実用上は何らかの条件でIF関数やSWICTH関数で選ぶ使い方が想定されます。

スピルを利用する方法とメリット
Office365やExcel2019以降ではスピルという形式で記述可能です。
これは複数セルに数式をコピーする場合に便利な機能です。
スピルの利用には行番号か列番号を複数セルの範囲で指定します。
そしてスピルであれば配列の絶対参照($)が不要です。

数式を入力するのは最初の一つのセルですが、
列番号や行番号で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

スピルを利用することで今回の例では、
E11セルに入力するだけでよいため(E12以降にコピーペーストが不要)
以下のメリットがあります。
- 入力の手間が少ない(数式のセルが多いほど効果が大きい)
- 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
- 絶対参照が不要
- 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。
Excelを効率的に習得したい方へ
当サイトの情報を電子書籍用に読み易く整理したコンテンツを
買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で
(実際のページ数はデバイスで変わります)
基本的な使い方、関数の解説(140種類)、
頻出テクニックと実用例(109種類)、
XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。
体系的に学びたい方は是非ご検討ください。
アップデートなどの更新事項があれば随時反映しています。
なお購入後に最新版をダウンロードするには
Amazonへの問い合わせが必要です。