INDEXとMATCHの組み合わせでデータ取得を改善
先日、INDEX関数の紹介しました。
先日の記事では『【INDEX関数】複数表の中から値を取得してみよう』では、
INDEX関数を使用して「2013年Mexico」の利益を取得しましたが、第2引数「行番号」と第3引数「列番号」は直接入力で対応しました。
この方法はミスが起こりやすいため、「直接入力」ではなく「セル参照」をする方法が望ましいところです。
そこで、この記事ではINDEX関数とMATCH関数の組み合わせ方法を紹介します。
MATCH関数を使用することにより、INDEX関数の第2引数「行番号」と第3引数「列番号」をセル参照できます。
「直接入力」と「セル参照」の違いは下記の記事『Excel関数の引数とは』で取り上げています。
INDEX関数とMATCH関数に関して
INDEX関数は、範囲から指定した行と列のセルを取得する関数です。※[]は省略可です
https://biz-data-analytics.com/excel/14261つ目の型: INDEX(配列, 行番号, [列番号]) 2つ目の型: INDEX(参照, 行番号,[列番号],[領域番号]) ※[]は省略可です
MATCH関数は、範囲内から指定した値を検索する関数です。※[]は省略可です
MATCH関数はマッチングさせる関数のことであるMATCH(検索値,検索範囲,[照合の型]) ※[]は省略可です
詳細の解説は下記をご覧ください。
INDEX関数とMATCH関数の組み合わせ
INDEX関数とMATCH関数を組み合わせることで、「直接入力」ではなく「セル参照」できます。
例を以下に示します。
「2013年Mexico」の売上を取得する関数式は、次になります。
INDEX(A4:C9, MATCH("Mexico",A4:A9,0), MATCH("2013",A4:C4,0))
関数式を分解して解説します。
INDEX(A4:C9
上記の関数式で、領域を取得しています。
MATCH("Mexico",A4:A9,0)
上記の関数式で、行番号を取得しています。
MATCH("2013",A4:C4,0)
上記の関数式で、列番号を取得しています。
MATCH関数は、指定した値が含まれている位置を検索し、その位置を返します。
この位置を、INDEX関数の第2引数「行番号」と第3引数「列番号」として指定することで、目的の値を取得できます。
このように組み合わせることで、直接入力による「ミス」を防ぐことができます。
最後に
今回はINDEX関数とMATCH関数の組み合わせることで、より確実かつミスのない方法を紹介しました。
「直接入力」の代わりに、「セルの参照」を使用することができます。
このことによって、データを入力するときにミスが生じにくくなります。
また、データが変更されたときに自動的に更新されるので、作業が効率化されます。
なお、MATCH関数の組み合わせの考え方は、VLOOKUP関数とHLOOKUP関数などでも応用できます。
MATCH関数と組み合わせることができる関数を列挙します。
- INDEX関数
- HLOOKUP関数
- VLOOKUP関数
- OFFSET関数
- ADDRESS関数
これらの関数とMATCH関数を組み合わせることで、データの検索・取得や、データの位置(行番号、列番号)の把握などができます。
今後もExcel関数に関する情報を発信していく所存ですので、お楽しみに!