INDEX関数の構文 -指定した行列の値を取得しよう- 参照形式編 – DL可

Excel関数の使用頻度でも高い、INDEX関数を紹介します。
『Excel関数の種類は大まかに知っておこう』に紹介したように、
Microsoft社の発表する「よく使われている関数トップ 10」に、ランクインしています。
関数 | 説明 |
INDEX 関数 | この関数を使うと、テーブルまたはセル範囲にある値、あるいはその値のセル参照を返すことができます。 |
表1 INDEX関数
Microsoft.“Excel 関数 (機能別)”. Microsoft. 2022-05-31.https://support.microsoft.com/ja-jp/office/excel-%E9%96%A2%E6%95%B0-%E6%A9%9F%E8%83%BD%E5%88%A5-5f91f4e9-7b42-46d2-9bd1-63f26a86c0eb, (2022-09-01)より一部改変
INDEX関数には、
参照形式と配列形式
という2種類の引数の記述方法があります。

目次
問題
行と列が交差するセルの値(Country「Germany」の Product 「Carretera」)を取得してみます。

サンプルデータ
オリジナルデータ
今回利用するサンプルデータは、Microsoft社の財務サンプルの Excel ブックを一部改変したものです。
下記はオリジナルのデータです。
”Power BI 用の Excel の財務サンプル ブックのダウンロード – Power BI | Microsoft Learn” .https://learn.microsoft.com/ja-jp/power-bi/create-reports/sample-financial-download, (2024/1/15)
解答付きサンプルデータ
解答付きサンプルデータが欲しい方は、下記からダウンロードしてください。
解答
INDEX関数を使用します。
関数式
次の関数式が解答です。
=INDEX(配列, 行番号, [列番号],[領域番号])
解説
ざっくり解説
関数の構文は以下です。
=INDEX(配列, 行番号, [列番号],[領域番号])
では、関数の構文に従って引数を入力します。
=INDEX($B$2:$I$8, 5, 4)
$B$2:$I$8 の参照範囲の中から、5行目4列目の値を取得すること

また、行と列のカウント方法には注意してください。
あくまでも、$B$2:$I$8 の範囲でのカウントとなります。
そのため、5行目と4列目となっています。
シート全体の行番号と列番号でありません。
(そのため、6行目と5列目ではありません)
くわしく解説
解説を読む前に、巻末の参考記事もチェックしておくと良いため、時間があれば覗いてみてください。
INDEX関数とは
Excel標準機能の[関数の挿入]ダイアログ/[関数の引数]ダイアログを大体のことは書かれているので、
活用して詳しく解説します。
ダイアログの使い方は、巻末の参考記事を参照していただければと思います。

指定された行と列が交差する位置にある値またはセルの参照を返します。
[関数の引数]ダイアログボックスより
INDEX関数は「指標」「索引」を意味する英単語INDEXから名前を取り、
指定された位置からデータを抽出する関数です。

ExcelのINDEX関数は、まるで表の中から特定の情報を探し出す探偵のようなものです。
その探偵に指示を出すためのヒントが、INDEX関数の各引数です。

INDEX関数の構文
INDEX関数の構文には、大きく2つがあります。

本記事では、
2つ目の「参照」
を紹介します。
INDEX関数の1つ目「配列」の方は、
使用上の注意があり、大変間違いやすいですので、推奨はできません。
なお、
「領域番号」=1 、または、省略した場合は、1つ目の型も2つ目の型も、同じ動き
になります。

第1引数:参照

参照 には1つ、または複数のセル範囲への参照を指定します。
Excel関数の[関数引数]のダイアログボックス
文字通り、参照範囲を指定します。
値を取得するセル範囲を指定します。
この例では、AmarillaからVTTまでの列とCanadaからUnited States of Americaまでの行を含む範囲になります。
これは探偵が探し物を見つけるために調査する「場所」です。
この例では、その「場所」は・・・
表の中のAmarillaからVTTまでの列とCanadaからUnited States of Americaまでの行を含む範囲です。
具体的には、
$B$2:$I$8
です。
第2引数:行番号

行番号 には配列または参照の中にあり、値を返す行を数値で指定します。
Excel関数の[関数引数]のダイアログボックス
省略した場合は、必ず列番号を指定する必要があります。
第1引数の参照の中の行番号を指定します。
この例では、Germanyが5行目になるため、行番号は5になります。
前述しましたが、
あくまでも、参照範囲でのカウントとなりますので、行と列のカウント方法には注意してください。
また、「省略した場合は、必ず列番号を指定する必要があります。」と書かれている通り、
行番号と列番号のどちらかを指定する必要があります。
第3引数:列番号

列番号 には配列または参照の中にあり、値を返す列を数値で指定します。省略した場合は、必ず行番号を指定する必要があります。
Excel関数の[関数引数]のダイアログボックス
第1引数の参照の中列番号を指定します。
この例では、Carreteraが4行目になるため、行番号は4になります。
前述しましたが、
あくまでも、参照範囲でのカウントとなりますので、行と列のカウント方法には注意してください。
また、「省略した場合は、必ず列番号を指定する必要があります。」と書かれている通り、
行番号と列番号のどちらかを指定する必要があります。
第4引数:領域番号

領域番号 参照内の範囲を指定します。指定した範囲の中から値が返されます。最初は選択または入力された領域の領域番号が1となり、以下、2番目の領域は2と続きます。
Excel関数の[関数引数]のダイアログボックス
参照が複数の範囲を含む場合に、どの範囲を使用するかを指定します。
なお、省略した場合は、領域番号が1とみなされます。
この例では、1つの範囲しか使用していないため、この引数は必要ありません。
ちなみに、引数の説明をしましたが、
ダイアログボックスのそのままだったのではないでしょうか。

最後に
以上、INDEX関数の参照形式を紹介しました。
INDEX関数は、索引という和訳通りに、「指定した行列の値を取得できる」関数です。
次回は、
INDEX関数の配列形式を紹介します。

ご拝読ありがとうございました。
参考記事:
Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。
構文に関する記事
Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。
ダイアログボックスの使い方に関する記事
Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。
参照形式に関する記事
関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。