INDEX関数
INDEX関数はテーブルまたはセル範囲にある値、あるいはその値のセル参照を返します。
INDEX(参照, 行番号, [列番号], [領域番号])
| 引数 | 内容 |
| 配列 | セル範囲または配列定数を指定する ・配列が 1 行または 1 列のみの場合、それぞれ行番号または列番号を省略することができる ・配列が複数行および複数列で構成され、行番号または列番号のどちらか一方しか指定されていない場合、配列の中にある行または列全体の配列が返される |
| 行番号 | 値を返す行を数値で指定する |
| [列番号] | 値を返す列を数値で指定する |
| [領域番号] | 行番号と列番号の共通部分を返す参照の範囲を選択する |
下記は、行番号と列番号を指定してセルの値を取得する例です。

次は、複数の配列と領域番号を指定した例です。

MATCH関数
MATCH関数は、範囲のセルの範囲で指定した項目を検索し、その範囲内の項目の相対的な位置を返します。INDEX関数と組み合わせることが多い関数です。
MATCH(参照, 行番号, [列番号], [領域番号])
| 引数 | 内容 |
| 検索値 | 検索範囲の中で照合する値を指定する |
| 検索範囲 | 検索するセルの範囲を指定する |
| [照合の型] | 検索範囲の中で検索する方法を指定する 1:検索値以下の最大値を検索する(デフォルト値) 0:検索値と等しい最初の値を返す -1:検索値以上の最小値を検索する |
下記は、単純に検索値に対して完全一致で、相対的な行数を取得する例です。

次は、照合の型を-1と1の例です。「-1」を指定する際の注意点は、データを降順に並べることです。

INDEX関数とMATCH関数を組み合わせることにより、VLOOKUPやHLOOKUPのように検索することができます。以下は、MATCH関数で対象の行を検索し、INDEX関数でセルの値を返す例です。


コメント