Excel セル範囲、行数、列数を指定して値を取得(INDEX関数)

2024年3月27日

English version.

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関数で選ぶ使い方が想定されます。

引数1に複数の範囲を指定する例
引数1に複数の範囲を指定する例

スピルを利用する方法とメリット

Office365やExcel2019以降ではスピルという形式で記述可能です。

これは複数セルに数式をコピーする場合に便利な機能です。

スピルの利用には行番号か列番号を複数セルの範囲で指定します。

そしてスピルであれば配列の絶対参照($)が不要です。

スピルでINDEX関数を記述する例(E11セル)
スピルでINDEX関数を記述する例(E11セル)

数式を入力するのは最初の一つのセルですが、

列番号や行番号で指定した高さ分、数式がセルのコピーなしで自動拡大されます。

E11に指定したINDEX関数がE15まで自動拡大
E11に指定したINDEX関数がE15まで自動拡大

スピルを利用することで今回の例では、

E11セルに入力するだけでよいため(E12以降にコピーペーストが不要)

以下のメリットがあります。

  • 入力の手間が少ない(数式のセルが多いほど効果が大きい)
  • 数式を編集した時、コピー忘れのリスクがない(最初のセルを更新すると全セルに反映)
  • 絶対参照が不要
  • 途中に行を追加した場合、数式のコピー&ペーストが不要。行削除でも壊れにくい。

Excelを効率的に習得したい方へ

当サイトの情報を電子書籍用に読み易く整理したコンテンツを

買い切り950円またはKindle Unlimited (読み放題) で提供中です。

Word-A4サイズ:1,400ページの情報量で

(実際のページ数はデバイスで変わります)

基本的な使い方、関数の解説(140種類)、

頻出テクニックと実用例(109種類)、

XLOOKUP関数、LET関数、シートビュー、LAMBDA関数、スピルなど便利な新機能を紹介。

体系的に学びたい方は是非ご検討ください。

アップデートなどの更新事項があれば随時反映しています。

なお購入後に最新版をダウンロードするには

Amazonへの問い合わせが必要です。

関連記事

VLOOKUP関数で大文字小文字を区別する方法

INDEX関数とMATCH関数を組み合わせてVLOOKUP関数より高度な検索を行う方法

VLOOKUP関数で左側の値を取得する方法

検索結果を座標で取得する方法

VLOOKUP関数で画像を取得する方法

関数の仕様と使い方の記事一覧