こんにちは。ひとりで.comです。
今日はExcel関数のMATCH関数について紹介したいと思います。
検索したい値は範囲の中で何番目かを調べるMATCH関数
【目次】
1.MATCH関数の説明と数式
2.実際のMATCH関数の使い方
3.MATCH関数を使うにあたっての注意事項
1.MATCH関数の説明と数式
MATCH関数は、指定した範囲の中で検索したい値や文字列が何番目にあるのか、の数値を返してくれる関数です。あくまで数値を返すのであって、文字列を返すのではない、というところに注意してください。
Microsoftの説明では以下のように記載されています。
MATCH 関数は、範囲 のセルの範囲で指定した項目を検索し、その範囲内の項目の相対的な位置を返します。たとえば、範囲 A1:A3 に値 5、25、38 が含まれている場合、数式「=MATCH(25,A1:A3,0)」を入力すると、範囲内では 25 が 2 番目の項目であるため、数字 2 が返されます。
また以下の様な書式にてMATCH関数を使います。
=MATCH(検査値, 検査範囲, [照合の型])
MATCH 関数の書式には、次の引数があります。
検索値 :必ず指定します。検査範囲の中で照合する値を指定します。たとえば、電話番号帳を使ってある人の電話番号を調べるとき、検査値としてその人の氏名を指定しますが、実際に検索するのは電話番号です。
検査値には、値 (数値、文字列、または論理値)、またはこれらの値に対するセル参照を指定できます。
検索範囲 :必ず指定します。検索するセルの範囲を指定します。
照合の型 :省略可能です。-1、0、1 の数値のいずれかを指定します。照合の型には、検査範囲の中で検査値を探す方法を指定します。この引数の既定値は 1 です。
照合の型 | 動作 |
1 または省略 | MATCH 関数は、検査値以下の最大の値を検索します。検査範囲の引数の値は、昇順の並べ替えでは、1 ~ 9、A ~ Z、あ~ん、FALSE ~ TRUE の順に配置されます。 |
0 | MATCH 関数は、検査値と等しい最初の値を検索します。検査範囲の引数の値は、任意の順序で指定できます。 |
-1 | MATCH 関数は、検査値以上の最小の値を検索します。検査範囲の引数の値は、降順の並べ替えでは、9 ~ 1、Z ~ A、ん~あ、TRUE ~ FALSE の順に配置されます。 |
2.実際のMATCH関数の使い方
なかなか説明文を見てもいまいち使い方が理解できないかと思いますので、実際の使い方について見ていきましょう。
以下の様な表があったとします。このB列の中で“名古屋”に当てはまる相対的位置をMATCH関数を使って抽出してみたいと思います。
MATCH関数を用いて、”名古屋”という文字列が指定範囲内で何番目にあるのかを抽出します。
=MATCH(“名古屋”,B4:B7,0)
と入れることによって実現できます。
B4からB7のセルの中での相対的位置を表す、ということになるので、
東京=1
大阪=2
名古屋=3
なり、返ってくる値は3になるはずです。
想定通り「3」という数値が返ってきました。
3.MATCH関数を使うにあたっての注意事項
MARTCH関数はいくつか試用にあたって注意すべき事項があります。
(1)MATCH 関数では、英字の大文字と小文字は区別されません。
(2)MATCH 関数で検査値が見つからない場合は、#N/A エラー値が返されます。
(3)ワイルドカードの利用について
検索の型 が 0 で、検索値が文字列の場合は、 検査値の引数で、疑問符(?) やアスタリスク (*) をワイルドカード文字として使用できます。ワイルドカード文字の疑問符は任意の 1 文字を表し、アスタリスクは 1 文字以上の任意の文字列を表します。ワイルドカード文字ではなく、通常の文字として疑問符やアスタリスクを検索する場合は、その文字の前に半角のチルダ (~) を付けます。
上記は注意事項として注意しながらMATCH関数をご利用ください。