INDEX+MATCH関数で横(列)方向を検索する方法

ここでは、INDEX+MATCH関数で横(列)方向に検索する方法を解説します。

 

一般的によく使われるのは、縦(行)方向への検索なので、普段のクロス抽出の逆になります。

本記事はアフィリエイト広告を含みます

1.横(列)方向に検索抽出するとは

まずは、「横(列)方向に検索する」とどういうことができるのか、例で確認してみましょう。

上の表は、商品別最安値確認表です。

 

縦(行)に商品名、横(列)に業者ごとの見積金額が入力されています。

 

そして、「最安値」を表示させているE列には、「範囲内で最小の数値を返す」MIN関数を使っています。

 

INDEX+MATCH関数で横方向に検索できると、E列の「最安値」を提示している「業者名」を抽出することができます。

関数の動きとしては、「横方向に検索し、該当した列の任意の行の値をとる」流れになります。

2.関数の組み合わせ方を解説

横方向を検索し縦方向で抽出できる数式の形は、次の通りです。

=INDEX(配列,行番号,MATCH(検査値,検査範囲,0))

 

横方向に検索する時のポイントは、INDEX関数の引数「列番号」にMATCH関数を使い、「行番号」に抽出したい行番号を入れることです。

 

では、先ほどの表をとセルF5に入力した数式を見ながら、引数の入れ方を確認してみましょう。

 

2-1.配列

配列には「元の表の範囲」を指定します。

 

例では、「業者名と値が入った範囲」になるので、「B4:D9」となります。

 

2-2.行番号

行番号には、「配列の中で求める値が入った行番号」を指定します。

 

「配列の中で」がポイントで、配列で指定した範囲の中で何番目の行か?ということです。

 

例では、業者名が配列で指定した範囲の内の1行目になっているため「1」としています。

 

2-3.検査値

検査値には、「検索値」を指定します。

 

例では、最安値の「100」が検索値なので、その値が入ったセル番号「E5」に$マークを付けています。

 

ちなみに、$マークはつけると「絶対参照」になります。

 

絶対参照にすると、セルF5に入力した数式を下のセルにコピーしても数式を手直ししなくてよくなります。

 

2-4.検査範囲

検査範囲には、検査値が入っている範囲を指定します。

 

例では、B列からD列までの値を中から検索したいので「B5:D5」としています。

 

2-5.数式の全体像

以上の結果、例の場合F5の入力した数式は、

=INDEX(B4:D9,1,MATCH($E5,$B5:$D5,0))

となっています。

このように、INDEX関数とMACTH関数を使えば、表を元に「横方向で検索し、縦方向で抽出する」ことができます。

 

試してみてください。以上、参考になれば幸いです。

 

次のページでは、INDEX+MATCH関数で別シートや別ファイルからデータを抜き出す方法を解説します。よかったら参照してください。

→ 次のページへはこちら

 


口コミ・評判のいいExcel本の紹介】


Top