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種類の引数の記述方法があります。

先日記事では、

参照形式の方の

【INDEX関数】指定した行列の値を取得しよう ~参照編~


を紹介しました。



参照形式配列形式の違いは・・・

対象範囲は1つか、2つ以上かの違いです。

  • 対象範囲が1つであれば、「配列」or 「参照」
  • 対象範囲が2つ以上であれば、「参照」

1つであれば、「配列」「参照」でも、見た目上の関数式に違いはありません。

何を言っているか分からない方は、

参照形式と配列形式の違いは、

別の機会に説明できればと考えています。

記事がアップされているかどうかは、

拝読のタイミングに依存する可能性がありますので、

次の方法で確認してみてください。


問題

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

サンプルデータ

オリジナルデータ

今回利用するサンプルデータは、Microsoft社の財務サンプルの Excel ブックを一部改変したものです。
下記はオリジナルのデータです。

財務サンプルの 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($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つがあります。



本記事では、

1つ目の「配列」

を紹介します。



関数式にすると、以下です。[]は、省略可能となっています。

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


配列の中で、指定した行番号列番号の値を取得する

2つ目の構文は、

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

で説明しています。

第1引数:配列

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

Excel関数の[関数引数]のダイアログボックス

配列を指定します。

ここでは、データ範囲「$B$2:$I$8」を指定すればOKです。

配列に関して、詳しく知りたい方は、

『Excel関数の引数とは

を拝読ください。

第2引数:行番号

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

Excel関数の[関数引数]のダイアログボックス

第1引数の配列の指定した範囲の行番号を指定します。

この例では、Germanyが5行目になるため、行番号は5になります。

前述しましたが、
あくまでも、参照範囲でのカウントとなりますので、行と列のカウント方法には注意してください。

また、「省略した場合は、必ず列番号を指定する必要があります。」と書かれているのですから、
行番号と列番号のどちらかを指定する必要があります。

第3引数:[列番号]

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

Excel関数の[関数引数]のダイアログボックス

第1引数の配列の指定した範囲の列番号を指定します。

この例では、Carreteraが4行目になるため、行番号は4になります。

前述しましたが、
あくまでも、参照範囲でのカウントとなりますので、行と列のカウント方法には注意してください。

また、「省略した場合は、必ず列番号を指定する必要があります。」と書かれている通り、
行番号と列番号のどちらかを指定する必要があります。

ちなみに、引数の説明をしましたが、
ダイアログボックスのそのままだったのではないでしょうか。

最後に

INDEX関数の配列編を紹介しました。

INDEX関数は、索引という和訳通りに、「指定した行列の値を取得できる」関数です。

ご拝読ありがとうございました。


参考記事

Excel関数を操作するための基本概念です。基本概念を理解すると、各関数の理解がより深まります。

構文に関する記事

Excel関数の引数と戻り値は何だっけ?という時に、役立つ記事です。

ダイアログボックスの使い方に関する記事

Excel関数名は何だっけ?VLOOKUP関数の使い方は何だっけ?という時に、ダイアログボックスを使うと便利です。
下記はそのダイアログボックスに関する記事です。

参照形式に関する記事

関数式をコピーする時はどうしたらいい? $マークは、どう付けたらいいだろう?
といった悩みをお持ちの方は以下をご覧ください。