【Excel関数】match:検索文字列がシート内に存在しているか特定する

説明

match関数は、検索文字列がシート内に存在しているか特定する関数です。

ケース(例)

たとえば、10行分のデータ(※ヘッダ無し)があり、B列に県名が入力されているとします。

そのB列のデータから「福岡県」が何行目にあるのか特定したいとします。

使い方(サンプル)

場合に、match関数を使う時は次のように記述します。

=MATCH(“福岡県”,B:B,0)

出力結果

セルC1には「5」と出力されています。

「5」と言う値は行数を表します。つまり、「福岡県」は5行にありますよ、と言う意味です。

ちなみに、参考としてサンプルファイルを用意しましたのでお試しください。

⇒サンプルExelファイル

macth関数の説明(パラメータ、戻り値、など)

macth関数の書式、およびパラメータと戻り値については次の通りです。

書式

macth(検索文字列, 検索範囲, [照合の種類])

各パラメータ、戻り値の説明

項目
詳細
第1パラメータ
(検索文字列)
検索文字列を指定します。
第2パラメータ
(検索範囲)
検索範囲は、検索したいセルの範囲を指定します。たとえば、セルB1からB10の中から文字列を検索したい場合は「B1:B10」と、B列全てを検索したい場合は「B:B」と指定します。
第3パラメータ
(照合の種類)
※省略可
照合の種類に値を設定することで、検索の方法(「1」,「0」,「-1」の3パターン)から選ぶことができます。

①以下(1):検索データ以下の最大値を検索する。
②完全一致(0):検索文字と一致するデータを検索する。
③以上(-1):検索データ以上の最小値を検索する。
※省略した場合は「以下(1)」を指定した場合と同じになります。
戻り値
特定した行

照合の種類(第3パラメータ)の使い分け(サンプル)

照合の種類(第3パラメータ)を使い分けて結果を見ていきましょう。検証用に次のサンプルデータを用意しました。

なお、参考として上記データが入ったExcelファイルを用意しましたのでお使いください。

⇒サンプルExelファイル

検索するデータが文字列の場合

検索するデータは「福岡県」とします。

①照合の種類が1(以下)

関数matchを使った計算式は次の通りとします。

=MATCH(“福岡県”,B:B,1)

結果は「10」です。

②照合の種類が0(完全一致)

関数matchを使った計算式は次の通りとします。

=MATCH(“福岡県”,B:B,0)

結果は「5」です。

③照合の種類が-1(以上)

関数matchを使った計算式は次の通りとします。

=MATCH(“福岡県”,B:B,-1)

結果は「#N/A」と出力されます。(エラー)

検索するデータが数値の場合

検索するデータは「76」とします。

①照合の種類が1(以下)

関数matchを使った計算式は次の通りとします。

=MATCH(76,C:C,1)

結果は「9」です。

「照合の種類が1」は、「検索データ以下の最大値を検索する」ので、76以下の値の最大値は「73」なので、「73」が存在する9(行目)を結果表示しています。

②照合の種類が0(完全一致)

関数matchを使った計算式は次の通りとします。

=MATCH(76,C:C,0)

結果は「5」です。

「照合の種類が0」は、「検索文字と一致するデータを検索する」ので、「76」の値が存在する5(行目)を結果表示しています。

③照合の種類が-1(以上)

関数matchを使った計算式は次の通りとします。

=MATCH(76,C:C,-1)

結果は「2」です。

「照合の種類が-1」は、「検索データ以上の最小値を検索する」です。76以上の値の最小値は「84」なので、「84」が存在する2(行目)を結果表示しています。