オーロラさんの勉強帳

IT企業勤務。データベース、Excel、Excel VBA、ネットワーク、LinuxなどIT関連のことを主に書いていきます。少しでもお役に立てたら幸いです。

【Excel】MATCH関数 ~わかりやすいMATCH関数入門~

INDEX関数とMATCH関数を組み合わせて、使いこなすことを目的とした全3回の第2回目の記事です。今回は『MATCH関数』の使い方を紹介します。

 

  • 1回目:INDEX関数
  • 2回目:MATCH関数 <今回>
  • 3回目:INDEX関数とMATCH関数の組み合わせ


1回目の『INDEX関数』の使い方は以下の記事を参照ください。

auroralights.hatenablog.com

 


MATCH関数とは

MATCH関数は、指定した行もしくは列の中で、指定した値が(文字列・数値)が何番目に存在しているかを返す関数です。
 

MATCH関数の構文

MATCH関数の構文は以下の通りです。


構文:MATCH(検索値,対象範囲,照合型)


<引数の説明>

  • 検索値:検索する値
  • 対象範囲:検索値を検索する範囲
  • 照合型:-1、0、1(または省略)を指定できます。
        1(または省略)を指定すると、『最大の値を検索』
           0を指定すると、『検索値と等しい最初の値を検索』
        -1を指定すると、『検索値以上の最小の値を検索』

 

検索値と一致するデータの場所を使うことがほとんどだと思うので、照合型は検索値と一致する値を検索対処とする「0」を覚えておけばいいと思います。

構文は数式バーに入力すれば以下のように表示されるので、暗記しなくても大丈夫です。

f:id:auroralights:20200813235045p:plain

 

1.MATCH関数で値が列の何番目にあるかを求める 例

 

特定の1列の対象範囲内で検索値が何番目にあるかを求めます。 

f:id:auroralights:20200814000945p:plain

上の画像では、対象範囲B2:B5内の文字列「C100」が何番目にあるかを求めています。
式は=MATCH("C100",B2:B5,0)もしくは=MATCH(D2,B2:B5,0)で求めることができます。
※検索値に文字列「C100」を指定した場合と、セル参照で「C100」が入力されている「D2」を指定した場合を書きました。

 

2.MATCH関数で値が行の何番目にあるかを求める 例

特定の1行の対象範囲内で検索値が何番目にあるか求めます。

f:id:auroralights:20200814001505p:plain

上の画像では、対象範囲B11:E11内の文字列「B100」が何番目にあるかを求めています。
式は=MATCH(G11,B11:E11,0)もしくは=MATCH("B100",B11:E11,0)で求めることができます。
※検索値に文字列「B100」を指定した場合と、セル参照で「B100」が入力されている「G11」を指定した場合を書きました。

 

3.MATCH関数の使用例

以下もMATCH関数で検索値が対象範囲の何番目にあるかを求めています。
特定の列の範囲で8月2日が何番目にあるか。そして、特定の行の範囲で東京本店が何番目にあるかを求めています。

f:id:auroralights:20200814002549p:plain


「8月2日」がセル範囲「B22:B26」の何番目にあるかは
=MATCH(I21,B22:B26,0)または=MATCH(44045,B22:B26,0)で求められます。
※44045は2020/8/5のシリアル値です。

「東京本店」がセル範囲「C21:F21」の何番目にあるかは
=MATCH(I22,C21:F21,0)または=MATCH("東京本店",C21:F21,0)求められます。

MATCH関数は以上となります。

INDEX関数が対象範囲の行番号、列番号を指定してデータを求める関数になるので、行番号、列番号の引数にMATCH関数を使う方法を次回ご紹介します。

 

auroralights.hatenablog.com