www.wanichan.com

一覧表から縦横検索するには

条件を指定した関数の適用
最終更新日時:2016/10/20 13:26:44
  • このエントリーをはてなブックマークに追加

表やセル範囲から行や列を指定して、セル参照を求めたり、該当位置のデータを求めるためのINDEX関数と、検査範囲にある検索値(データ)から、その範囲で該当する行番号や列番号を求めるMATCH関数を組み合わせて数式を作成します。

Windows版Excel 2016の記事はこちら

概要

以下のような一覧表があり、縦と横による検索を行いたい場合、「INDEX」関数と「MATCH」関数を組み合わせて使用します。

 

「INDEX」関数の行番号、列番号にはそれぞれ同じものは何番目にあるかを求めるために「MATCH」関数を使います。

INDEX関数とMATCH関数の関係
INDEX表やセル範囲から行や列を指定して、セル参照を求めたり、該当位置のデータを求める。セル範囲形式と配列形式の2種類がある。ただし、行番号と列番号から検索するため、VLOOKUPのように、表の見出し名から検索(数式でラベルを使用)することはできない。
MATCH検査範囲にある検索値(データ)から、その範囲で該当する行番号や列番号を求める。表の見出し名から検索できないINDEX関数を補うためにセットとして使われることが多い。なお、検索の方法として「検索値に完全一致」「検索値に完全一致する値がなければ検索値未満の最大値」「検索値に完全一致する値がなければ検索値より大きい最小値」から選択できる。

INDEX関数について

INDEX関数は、インデックスを使って、範囲、または配列から抽出した値を返します。セル範囲形式と配列形式があります。

INDEX関数の引数
セル範囲形式INDEX(範囲,行番号,列番号,領域番号)
配列形式INDEX(配列,行番号,列番号)

縦と横による検索を行うには、配列形式を使います。

MATCH関数について

MATCH関数は、INDEX関数と同様、範囲、または配列から抽出した値を返しますが、検索値と同じ相対的な位置を表す数値を求めます。つまり、検査範囲内でその値が何番目にあるのか、というのを調べることができるのです。

MATCH(検索値,検査範囲,照合の種類)
検索値検索したい値が入っているセルを指定。
検査範囲検索対象となる表のセル範囲を指定。
照合の種類検索範囲の中で検索値を検索する方法を指定。省略すると「1」になる。
  • 検索値に完全に一致する値を検索:「0」
  • 検索値に完全一致する値がない場合、検索値未満の最大値を検索(ただし、データは昇順に並んでいることが必要):「1」
  • 検索値に完全一致する値がない場合、検索値より大きい最小値を検索(ただし、データは降順に並んでいることが必要):「-1」

操作方法

  1. 求めたいセルを選択し、[数式]タブの[検索/行列]一覧から[INDEX]をクリックします。
  2. INDEX関数を呼び出した後、以下のように「配列、行番号、列番号」を選択して[OK]ボタンをクリックします。
  3. [配列]はコード表全体を指定するので「A2:E9」を選択します。
  4. [行番号]にカーソルを移動し、MATCH( と入力して、対応表の行を参照するデータセル(B11)を選択します。
  5. 続けて「,」を入力して一覧表から行見出しセル範囲を指定し、「,0)」と入力します。
  6. [列番号]にカーソルを移動して、MATCH( と入力して、対応表の列を参照するデータセル(B12)を選択します。
  7. 続けて「,」を入力して一覧表から列見出しセル範囲を指定し、「,0)」と入力し、[完了]ボタンをクリックします。
  8. INDEX関数とMATCH関数を組み合わせた数式が入力され、正しく求められました。

※執筆環境:Microsoft Excel for Mac バージョン 15.27

スポンサーリンク
INDEX
  • このエントリーをはてなブックマークに追加

異なるバージョンの記事

コメント

▲このページのトップへ