INDEX関数とMATCH関数を使用してデータを検索するには
関数を使ってデータを検索する
最終更新日時:2023/04/03 16:29:15
一覧表から縦横検索するには、検査範囲にある検索値(データ)から、MATCH関数でその範囲で該当する行番号や列番号を求めたうえで、INDEX関数でその一覧表から行番号と列番号を指定して、セル参照を求める数式を作成します。
- 概要
- STEP 1 INDEX関数の[配列]を指定する
- STEP 2 INDEX関数の[行番号]をMATCH関数で求める
- STEP 3 INDEX関数の[列番号]をMATCH関数で求める
- STEP 4 数式を完成させる
概要
以下のような一覧表があり、縦と横による検索を行いたい場合、「INDEX」関数と「MATCH」関数を組み合わせて使用します。
「INDEX」関数の行番号、列番号にはそれぞれ同じものは何番目にあるかを求めるために「MATCH」関数を使います。
INDEX | 表やセル範囲から行や列を指定して、セル参照を求めたり、該当位置のデータを求める。セル範囲形式と配列形式の2種類がある。ただし、行番号と列番号から検索するため、VLOOKUPのように、表の見出し名から検索(数式でラベルを使用)することはできない。 |
---|---|
MATCH | 検査範囲にある検索値(データ)から、その範囲で該当する行番号や列番号を求める。表の見出し名から検索できないINDEX関数を補うためにセットとして使われることが多い。なお、検索の方法として「検索値に完全一致」「検索値に完全一致する値がなければ検索値未満の最大値」「検索値に完全一致する値がなければ検索値より大きい最小値」から選択できる。 |
INDEX関数について
INDEX関数は、インデックスを使って、範囲、または配列から抽出した値を返します。セル範囲形式と配列形式があります。
セル範囲形式 | INDEX(範囲,行番号,列番号,領域番号) |
---|---|
配列形式 | INDEX(配列,行番号,列番号) |
セル範囲形式は、複数のセル範囲があって、何番目の領域(セル範囲)の値を返すか、といった場合に利用します。セル範囲形式で複数の範囲を指定する場合は、括弧でくくり、それぞれ半角カンマで区切ります。たとえば、「A2:C7」と「E2:G7」の二つのセル範囲があり、1行目2列目のデータを2番目の表(E2:G7)から抜き出す場合は、
=INDEX((A2:C7,E2:G7),1,2,2)
となります。もし領域番号の引数を省略すると1番目のセル範囲(A2:C7)から値を返します。
なお、縦と横による検索を行うには、配列形式を使います。
MATCH関数について
MATCH関数は、INDEX関数と同様、範囲、または配列から抽出した値を返しますが、検索値と同じ相対的な位置を表す数値を求めます。つまり、検査範囲内でその値が何番目にあるのか、というのを調べることができるのです。
MATCH(検索値,検査範囲,照合の種類)
検索値 | 検索したい値が入っているセルを指定。 |
---|---|
検査範囲 | 検索対象となる表のセル範囲を指定。 |
照合の種類 | 検索範囲の中で検索値を検索する方法を指定。省略すると「1」になる。
|
STEP 1 INDEX関数の[配列]を指定する
- 求めたいセルを選択し、[数式]タブの[検索/行列]一覧から[INDEX]をクリックします。
- INDEX関数を呼び出した後、以下のように「配列、行番号、列番号」を選択して[OK]ボタンをクリックします。
-
[配列]はコード表全体を指定するので「A2:E9」を選択し、数式バーにカーソルを移動します。
STEP 2 INDEX関数の[行番号]をMATCH関数で求める
- 数式バーの末尾にカーソルを移動して、「,MA」と入力して一覧からMATCH関数を選択します。
- 数式パレットがMATCH関数に変わったら、検索値として対応表の行を参照するデータセル(B11)を選択します。
- [検索範囲]には、一覧表から行見出しセル範囲を指定します。
- [照合の種類]には「0」と入力します。
STEP 3 INDEX関数の[列番号]をMATCH関数で求める
- 数式バーの末尾にカーソルを移動して、「,MA」と入力して一覧からMATCH関数を選択します。
- 数式パレットがMATCH関数に変わったら、検索値として対応表の列を参照するデータセル(B12)を選択します。
- [検索範囲]には一覧表から列見出しセル範囲を指定します。
- [照合の種類]には「0」と入力します。
STEP 4 数式を完成させる
- 数式バーにカーソルを移動し、閉じ括弧を入力して[完了]ボタンをクリックします。
- INDEX関数とMATCH関数を組み合わせた数式が入力され、正しく求められました。
※執筆環境:Microsoft Excel for Mac バージョン 16.42
次のセクション
INDEX