トップ > ワークシート関数 > MATCH

MATCH分類:検索/行列   2009.02.06

MATCH関数は「検索/行列」に分類される関数で、範囲・配列から値を検索し、相対的な位置を数値で返します。INDEX関数と組み合わせたり、配列数式として応用でき大変便利な関数です。
「氏名と教科名からその人物の成績を抽出する」といった用途が考えられます。

MATCHの機能と構成

機能:照合の型に従い検査範囲内を検索し、検査値と一致する要素の配列内位置を数値で返す。

構成:=MATCH(検査値,検査範囲,照合の型)

引数

検査値には、値 (数値、文字列、論理値)、又ははこれらの値に対するセル参照を指定できます。

検査範囲には、検査値が入力されている連続した1次元セル範囲や、値の配列を指定します。

照合の型には、検査範囲の中で検査値を探す方法を「1,0,-1」の数値で指定します。この引数は省略可能で省略した場合は「1」と見なされます。

次は、照合の型の違いによって、関数が値を検索する方法の違いの記載です。

●「1」又は省略
 検査値以下の最大の値が検索されます。このとき検査範囲のデータは、昇順に並べ替えておく必要があります。
 昇順の並べ替えでは、数値は 1 ~ 9、アルファベットは A ~ Z、かなは "あ" ~ "ん"、ブール型の値は FALSE から TRUE に配置されます。

●「0
 検査値に一致する値のみが検索の対象となります。このとき検査範囲を並べ替えておく必要はありませんが、検査値が見つからない場合は、エラーになります。
 又、「0」を設定した場合は、ワイルドカード文字を使用できます。

●「-1
 検査値以上の最小の値が検索されます。このとき検査範囲のデータは、降順に並べ替えておく必要があります。
 降順の並べ替えでは、数値は 9 ~ 1、アルファベットは Z ~ A、かなは "ん" ~ "あ"、ブール型の値は TRUE から FALSE に配置されます。


引数を指定する例

配列{2,3,4}から「3」を検索し位置を返す。(結果は「2」):
 =MATCH(3,{2,3,4},0)

配列{"小矢部","庄川","神通"}から「神通」を検索し位置を返す。(結果は「3」):
 =MATCH("神通",{"小矢部","庄川","神通"},0)

セル範囲[A1:A10]からセル[B1]の値を検索し位置を返す。:
 =MATCH(B1,A1:A10,0)

[DataArea]と名前を定義したセル範囲[A1:A10]から「6」を検索し、位置を返す。
「6」が見つからない場合は「6」以下の最大の値が検索されます。:
 =MATCH(6,DataArea)


下図は名簿を利用したMATCH関数の使用例です。

セル[D2]の値を、セル範囲[B3:B9]から検索し、相対的な位置をセル[F2]に表示します。


MATCH関数の特徴

MATCH関数は便利で使用しやすい関数です。その特徴をしっかりと把握しておきましょう。

「検査範囲」内に空白セルが含まれている場合

検査範囲内に空白セルが含まれている場合、そのセルは無視された状態で検索が行われます。


「照合の型」の違い

【照合の型が「0」】「完全一致」しない検査値はエラーになります。

【照合の型が「1」】「検査値以下の最大値」を検索します。
 検査範囲は、昇順に並べ替えておく必要があります。

【照合の型が「-1」】「検査値以上の最少値」を検索します。
 検査範囲は、降順に並べ替えておく必要があります。


「検査範囲」に同じ値が複数存在する場合

検査範囲内に同じ値が複数存在した場合は、最も上の値が優先されます。


MATCH関数の応用(1)

MATCH関数はその特性からINDEX関数と相性が良く、組み合わせての使用すると便利です。ここでは、その代表的な使用法を例に挙げます。

●行・列の値を、それぞれMATCH関数で検索し、それらを基にINDEX関数で指定したセル範囲から値を取り出します。


MATCH関数の応用(2)

MATCH関数は配列数式として利用することの出来る関数です。

●性別が男で、かつ英検が2級の人物の位置を返します。

 上図では、該当人物は一人ですが、複数の場合は、「照合の型」で結果が異なります。

 ・照合の型が「0」:検査範囲の中で、最も上位の人物の相対位置を返す。
 ・照合の型が「1」又は省略:検査範囲の中で、最も下位の人物の相対位置を返す。
 ・照合の型が「-1」:エラー


ページトップへ戻る
Copyright(C) 2009- 坂江 保 All Rights Reserved.