STUDY387

エクセルで仕事をもっと簡単にしよう

【エクセル関数】検索項目の相対的な位置を表示するMATCH

time 2014/06/28

【エクセル関数】検索項目の相対的な位置を表示するMATCH
※ エクセル2013で説明しています。
MATCH(検査値,検査範囲,[照合の型])

  • 第1引数:検査値(必須)。数値、文字列、論理値、またはこれらのセル参照を指定できる。
  • 第2引数:検査範囲(必須)。検索するセル範囲を指定。
  • 第3引数:照合の型(省略可)。1,0,-1のいずれかを指定できる。
照合の型 動作
1
または
省略
検査値以下の最大値を検索します。
検査範囲が昇順でないと
正しい値が返されない時があります。
0 検査値と同じ最初の値を検索します。
検査範囲の並び順は任意でOKです。
-1 検査値以上の最小の値を検索します。
検査範囲が降順でないと正しい値が
返されないときがあります。

検査値が検査範囲にあった場合、その相対的位置を返します。

大文字と小文字の区別はされません。

検査値がない場合は、#N/Aエラーが表示されます。

使い方

MATCH関数には少しクセがあります。
そこで、実用的ではないかもしれませんが、
MATCH関数の動きがシンプルに分かる例で、使い方を説明します。

ここで特に理解してもらいたいのは、
データの並び順と照合の型によって、
MATCH関数の解が異なるという点
です。

下の画像は、英語の成績表で点数が低い順(昇順)に並んでいます。
英語の成績表

MATCH関数を使って、50点がどこに位置するかを確認します。

1.第1引数の検査値は、50点を探すので「50」になります。
MATCH関数の検査値

2.第2引数の検査範囲は、
英語の点数が入力されている範囲になるので、
「$C$2:$C$17」です。
MATCH関数の検査範囲

3.第3引数はすべてのパターンを採用し、MATCH関数を作りました。
下の画像をご覧ください。
MATCH関数

「照合の型1」の結果を見ると、「4」が表示されています。
MATCH関数の照合の型が1の結果

MATCH関数は相対的な位置を示すので、
検査範囲の最初から数えて4番目、つまり、47点の位置を示しています。
50点がなく、「50点以下の最大値」である47点が該当したためです。
MATCH関数の相対的位置の画像

「照合の型0」の結果を見ると、「#N/A」です。
50点がなかったからです。
MATCH関数の照合の型が0の結果

仮に、57点を「照合の型0」で検索すれば、
57点が存在するので、「6」が表示されます。
なお、該当する値が複数ある場合、前に位置する値の相対的位置が表示されます。
MATCH関数の照合の型が0で検査値が57の結果

「照合の型-1」の結果を見ると、「#N/A」です。
51点が位置する「5」になると考えがちですが、これはデータが昇順であることに起因しています。
MATCH関数の照合の型が-1の結果

MATCH関数は一番上(1番目)から検索を開始します。
そして、検索値「50」の位置で検索をストップします。
検索値「50」はありませんが、50より大きい51が現れた時点で検索がストップします。
MATCH関数の照合の型が-1の結果が#N/Aの理由

従って、51点が位置する5番目は検索対象外となり、
ここに答えがあったとしても、MATCH関数の解として
表示されることがないという訳です。

データを降順にすれば、51点が50点より前に位置するため、
MATCH関数は「12」を表示します。
MATCH関数の照合の型が-1でデータを降順にした結果

データの並び順と照合の型によって、
MATCH関数の解が異なることを理解できたでしょうか。
また、該当する値が複数ある場合、前に位置する値の相対的位置が表示される点も忘れないでくださいね。

sponsored link



sponsored link

sponsored link

何はともあれOFFICEのことならマイクロソフト。意外とキャンペーンやっています。

コピー用紙あったかな?トナーもあったかな?事務用品はアクスルへGO!