あなたはエクセルで、縦の行と横の列がクロスするところの数字を調べるとき、表を目で追うのが面倒だと思ったことはありませんか?
例えば、年ごと、月ごとの売上集計表があり、縦が年、横が月の場合、調べたい年と月がわかっているなら、その年と月をどこかのセルに入れると、すぐ表示される方が楽で速いですよね。
エクセルの関数を使えば、縦と横の検索をして、その結果を出せます。
今回は「エクセルで行と列が交わるところを検索する方法 INDEX MATCH関数」を紹介します。
エクセルで表の行と列が交わるところを検索する方法 INDEX MATCH関数
エクセルで表の行と列が交わるところを検索する方法(INDEX MATCH関数)です。
下のような表があるとします。
例えば、A8セルに「2023年」、B8セルに「5月」と入力すると、上の表から2023年の行と、5月の列が交わるセルの値を返す、というのを例に紹介します。
1.C8セルに「=INDEX(A1:M4,MATCH(A8,A1:A4,0),MATCH(B8,A1:M1,0))」を入力する
今回は先に、入力する数式から紹介します。
C8セルに「=INDEX(A1:M4,MATCH(A8,A1:A4,0),MATCH(B8,A1:M1,0))」を入力します。
見慣れないと意味不明かもしれませんが、後から数式の意味を解説していきますので、読み進めて行って下さい。
これでA8、B8セルに検索したい年と月を入れれば、C8セルに検索結果の数字が表示されます。
2.数式の意味
INDEX関数とMATCH関数を組み合わせて使っています。
それぞれの基本的な数式は以下の通りです。
INDEX関数
「=INDEX(配列,行番号,列番号)」
MATCH関数
「=MATCH(検索値,検索範囲,照合の種類)」
INDEX関数の中に、MATCH関数を入れる形です。
それぞれの意味を踏まえた上で、C8セルに入れた数式の意味は、次の様になります。
①選択したセル(C8)に、
②検索したい表の範囲(A1~M4)から、
③検索したい値(A8)を
④検索範囲(A1~A4)から選び、
⑤完全一致するものを取り出す。
⑥検索したい値(B8)を
⑦検索範囲(A1~M1)から選び、
⑧完全一致するものを取り出す。
⑨⑤の行と⑧の列の交わる値を①のセル(C8)に表示する、という意味です。
①~⑧は下の画像に対応しています。(⑨は①と同じなので省略)
これも見慣れないとわかりづらいので、次にMATCH関数とINDEX関数に分解していきます。
3.MATCH関数
まずはMATCH関数部分の前半です。
こちらは、どの行を検索するか、になります。
③A8セルにマッチするものを、④A1~A4セルから選び、⑤完全一致するもの、という意味です。
色々書いてますが、つまりA8セルの値です。
次に後半部です。
こちらは、どの列を検索するか、になります。
⑥A8セルにマッチするものを、⑦A1~A4セルから選び、⑧完全一致するもの、という意味です。
こちらも色々書いてますが、つまりB8セルの値です。
4.INDEX関数
INDEX関数は、「配列、行番号、列番号」なので、
配列:②A1~M8の範囲から、行番号:③~⑤A8セルの行と、列番号:⑥~⑧B8セルの列のクロスするところの値を表示する、の意味になります。
5.結果を確認
A8セルに「2023年」、B8セルに「5月」を入力して、うまく結果が取り出せるか、確認します。
ちゃんと表示できました。
これで大きな表をいちいち目で追わなくて済みますね!
まとめ
エクセルで表の行と列が交わるところを検索する方法です。
INDEX関数の中に、MATCH関数を混ぜて使います。
INDEX関数 「=INDEX(配列,行番号,列番号)」
MATCH関数 「=MATCH(検索値,検索範囲,照合の種類)」
組み合わせて、
「=INDEX(配列,行番号MATCH(検索値,検索範囲,照合の種類),列番号MATCH(検索値,検索範囲,照合の種類))を入力します。
こんかい紹介した例では、「=INDEX(A1:M4,MATCH(A8,A1:A4,0),MATCH(B8,A1:M1,0))」を入れました。
これで表の中から、行と列がクロスするところを簡単に検索し、時間と手間を減らしていきましょう!
コメント