【Excel】MATCH関数の使い方~何は上から何番目か?~

Excelの関数の1つである、MATCH関数の使い方についてです。




MATCH関数とは?

MATCH関数とは指定した範囲内において指定した値が上から何番目かを求める関数です。

例えば

鈴木 テニス部
佐藤 サッカー部
田中 野球部
石橋 陸上部

といった名前とその人の部活が書いてある表があるとします。

この表において、
名前の欄で上から2番目の値は「佐藤」であることがわかります。

MATCH関数はこのような値を求めます。


MATCH関数の使い方

MATCH関数の式の形は以下の通り。

=MATCH(探したい値,探す範囲,照合の型)

「照合の型」とは、「-1」か「0」か「1」を入れます。

「-1」は検査値以上の最小の値を検索します。
「0」は検査値と等しい最初の値を検索します。
「1」は検査値以下の最大の値を検索します。

つまり「0」が完全一致、「-1」と「1」は近似値を探すわけです。
「-1」と「1」はの場合はあらかじめ表のデータを並べ替えておかないといけないのでややこしい。

MATCH関数の照合の型は特に初心者なら「0」を使えばいいかなと思います。


MATCH関数の意義

MATCH関数とは指定した範囲内において指定した値が上から何番目かを求める関数。
つまりMATCH関数はセルの値からそのセルの上から何番目かという数字を求める関数です。

MATCH関数は他の関数と組み合わせて使うことも多いです。
MATCH関数は他の関数と組み合わせて膨大な表の中から指定した値を探すときに便利な関数です。


MATCH関数の応用

MATCH関数は「何は何番目か」を求める関数です。

一方で、INDEX関数というものがあります。
INDEX関数は「何番目は何か」を求める関数です。

MATCH関数とINDEX関数を組み合わせると、表の中で指定した条件の値を取り出すことができます。

鈴木 テニス部
佐藤 サッカー部
田中 野球部
石橋 陸上部

の表において指定した人が何部か求める式を作ってみます。

=INDEX(表の範囲,MATCH(探したい値,探したい範囲,0),左から何番目の列の値を求めるか)

具体的には、

 A    B
1 鈴木 テニス部
2 佐藤 サッカー部
3 田中 野球部
4 石橋 陸上部

という番地において、「田中」が何部か求めたいなら、

=INDEX(A1:B4,MATCH(“田中”,A1:A4,0),2)
となるわけです。

さらに、”田中”の部分を別のセルに指定すれば、そのセルに打ち込んだ名前の人の部活が何かがわかる式を作ることができますね。


その他の記事

INDEX関数の使い方~上から何番目、左から何番目は何?~
Excelの関数の1つである、INDEX関数の使い方についてです。 INDEX関数とは? INDEX関数とは指定した...
【Excel】MATCH関数の使い方~何は上から何番目か?~
Excelの関数の1つである、MATCH関数の使い方についてです。 MATCH関数とは? MATCH関数とは指定した...
【Excel】SUMPRODUCT関数の使い方~条件を指定して求める~配列数式
SUMPRODUCT関数の使い方   A   B   C  D 1 売り物 お値段 個数 産地 2 りんご 100 1...
【Excel関数】DATEDIF関数の使い方
DATEDIF関数とは? 今日はDATEDIF関数についてです。 ちなみに読み方はDATEDIF(デイトディフ)です。 ...
【Excel】IF関数の使い方~簡単解説と具体例~
【目次】 ・IF関数とは? ・IF関数の使い方 ・IF関数の例 ・IF関数の意義 ・その他の記事 IF関数と...
【Excel関数】SUMIF関数の使い方~条件指定して合計する~
エクセル関数にはいろいろありますが、その中でも比較的簡単で便利な関数の一つにSUMIF関数があります。 今日はSUMIF関数を見ていき...
【Excel】DATEVALUE関数の使い方 ~シリアル値を求める~
エクセルの関数の1つである、DATEVALUE関数の使い方についてです。 読み方は「データバリュー」です。 【目次】 1. D...
【Excel】VLOOKUP関数の使い方~表を参照して値を抽出~
【目次】 ・VLOOKUP関数とは? ・VLOOKUP関数の使い方 ・VLOOKUP関数の例 ・VLOOKUP関数の意義 ...
【Excel実例】その日が何曜日か自動で求める
エクセルで、指定した日が何曜日か求める式の実例です。 今回は年・月・日が別々のセルに入力されている場合を考えます。 【目次】 ...
今日時点で「何歳何カ月何日」か表示する【Excel関数例】
今日時点で「何歳何カ月何日」か表示する =DATEDIF(A1,TODAY(),”Y”)&”歳”&DATE...
Excel VBA 行や列を表示・非表示にするコード
行や列を表示・非表示にする 行や列を非表示にする Rows("1").Hidden = True &...