Match
分類:検索/行列

MATCH

 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」:エラー


Excel Tips for Teachers

Copyright (C) 2009 坂江 保 All Rights Reserved.