こんにちは。なごむです。
今日はEXCELで指定した行と列の交差する値を自動的に表示させる方法を紹介します。
今回は自動表示するために使用する関数を2つ紹介します。
今回使用する関数
- INDEX関数
- MATCH関数
INDEX/MATCH関数を使って指定した行と列の交差する値を自動表示する
下の図の「G3」と「H3」に値を入れると「G7」のセルに自動的に値を表示するようにします。
「G7」のセルに次のように入力をします。
=INDEX(B2:E5,MATCH(G3,B2:B5,0),MATCH(H3,B2:E2,0))
これを入力すると自動的に「G7」のセルに指定した行と列の重なる部分の値が自動的に表示されます。
以上で自動的に表示はできるのですが、これだけだとわかりずらいかもしれませんので「INDEX」と「MATCH」関数について、それぞれ見ていきたいと思います。
INDEX関数は行と列が交差するセルの値を表示するための関数です
INDEX関数を使うと指定した行と列が交差するセルの値を表示することができます。下の図で言うと「列A」「行3」の値は「700」になりますが、こちらを求めることができます。
数式で求めると次のようになります。
「F7」のセルに次のように入力をします。
=INDEX(B2:E5,4,2)
これを入力すると自動的に「F7」のセルに数値が入力されるようになります。
数式の中の「B2:E5」は参照する表の範囲の指定です。
数式の中の「4」については、行の中の「3」という値は、表の上から4行目にあるという意味です。
数式の中の「2」については、列の中の「A」という値は、表の左から2列目にあるという意味です。
MATCH関数は目的のセルが範囲の中の何番目に登場するかを教えてくれる関数です
INDEX関数の部分で、行と列がそれぞれ何行目、何列目にあるのかというのを直接、値で示していました。
これをMATCH関数を使って、何行目、何列目にあるのかというのを求めることができます。
表の中の「3」が何行目に登場するのかというのをセルの「F7」に表示したい場合は
=MATCH(3,B2:B5,0)
こちらを入力すると何行目に登場するかが下図のように表示されます。
表の中の「A」が何列目に登場するのかというのをセルの「F7」に表示したい場合は
=MATCH("A",B2:E2,0)
こちらを入力すると何列目に登場するかが下図のように表示されます。
これを組み合わせたものが、最初に紹介した数式になります。
まとめ
このようにINDEX関数とMATCH関数を組み合わせることで効率的に数値を求めることができるようになります。VLOOKUP関数ではできないようなこともこの組み合わせであれば集計ができるようになります。
簡易的な活用例のデータも作成してみましたので、ぜひご覧になってくださいね。