MATCH関数とINDEX関数の組み合わせ
冒頭で紹介した早見表のサンプルに話を戻しましょう。早見表からデータを探すとき、条件が記された縦横の見出しの中から、指定したい条件データの位置を確認し、それらが交差する場所を探してデータを確認します。
この作業をExcelで実現するには、「見出しの中から条件の位置を確認する」作業をMATCH関数で、「交差する場所を探してデータを取り出す」作業をINDEX関数で処理します。
縦の見出しから条件の位置を探す式は、MATCH関数を使って「MATCH(C10,B5:B8,1)」となります。検査値に「検索する値が入力されているセルC11」、検査範囲に「検査値を検索する範囲(条件が入力されているセル範囲)」を指定しています。検索方法は、見出しが「~以上~未満」といった条件を表しているので、「1」を指定しています。
同様に、横の見出しから条件の位置を探す式は「MATCH(C11,C4:E4,0)」となります。検索方法は、決められた値の中から選ぶ形なので「0」を指定しています。
これらの式を、INDEX関数の「行番号」と「列番号」を指定する部分に組み合わせることで、早見表からデータを取り出す式「=INDEX(C5:E8,MATCH(C10,B5:B8,1),MATCH(C11,C4:E4,0))」が完成します。
MATCH関数によって求められた行・列それぞれの位置情報が、INDEX関数の「行番号」「列番号」として指定され、早見表からデータを取り出すことができる、というわけですね。
この数式が、価格を表示したいセルC12に入力されています。
ビジネスの現場では、意外と早見表のような資料を使った作業(見積作業など)が多いものです。このMATCH関数とINDEX関数の組み合わせ術を上手に使って、仕事の効率化を図ってみてください!
【関連記事】
検索したデータに該当した行の指定列からデータを取り出したい場合、「VLOOKUP関数の使い方」を、条件を満たす複数のデータを表から取り出したい場合は「関数で条件を満たす複数のデータを表から取り出す方法」を参考にしてください。