Introduction
Ver. all 2013 2016 2019 2021 365
Excel(エクセル)で項目の場所や位置を数値で表示するMATCH関数の使い方です。
他の関数と組み合わせて使用される機会が多い関数ですよ。
MATCH関数・・・範囲の中で指定した値と一致したデータを返す
=MATCH(検査値,検査範囲,照合の種類[省略可])
- 検査値・・・検索する値(一致させたい場所のセル参照や値、文字列)を指定
- 検査範囲・・・検索する(一致させる)相手のデータ全体を指定
- 照合の種類・・・[検査値]を探す方法を指定
マッチでーす
MATCH関数の使い方
MATCH関数は、検索結果と一致した値を取り出すのではなく、位置を数字で返す関数です。
今回は、下の表で説明します。
緑色で塗られたセル、「白猫商事」は「会社名」の上から何番目にあるかと、「性別」は1行目の項目の左から何番目にあるかをMATCH関数を使用して表示してみます。
まず、「白猫商事」の位置からいきましょう。
[関数の挿入]画面では、[すべて表示]か[検索/行列]を選んで「MATCH」関数を表示します。
MATCH関数・・・範囲の中で指定した値と一致したデータを返す
=MATCH(検査値,検査範囲,照合の種類[省略可])
- 検査値・・・検索する値(一致させたい場所のセル参照や値、文字列)を指定
- 検査範囲・・・検索する(一致させる)相手のデータ全体を指定
- 照合の種類・・・[検査値]を探す方法を指定(省略すると「1」)
- 1・・・[検査値]以下の最大の値が検索される。[検査範囲]は昇順に並んでいる必要がある。
- 0・・・[検査値]に完全に一致した値が検索される。
- -1・・・[検査値]以上の最小の値が検索される。[検査範囲]は降順に並んでいる必要がある。
最後の[照合の種類]ですが、「0」を指定して完全一致させる場合が多いです。今回の例も「0」指定を例にします。
今回、「D9」に入れる引数は下のようになります。
=MATCH("白猫商事",A2:A7,0)
[検査値]の場所は「”白猫商事”」と入力するのではなく、「A4」とセル参照を指定しても良いですね。
[OK]をクリックすれば結果が表示されます。
「白猫商事」は[検査範囲]の上から3番目に確かに存在しますね。
次に、項目名の「性別」が何番目か調べてみましょう。
「D10」に入れるMATCH関数の引数は下のようになります。
=MATCH("性別",A1:E1,0)
[検査値]の場所は「”性別”」と入力するのではなく、「D1」とセル参照を指定しても良いですね。
結果が下の画面。
「性別」は、確かに左から4番目ですね。
このように、探そうとする値が行列関係なく、何番目に存在するかを知ることができる関数です。
照合の種類に関して
途中で書いたように、3番目の[照合の種類]は完全一致の「0」を使用する場合が多いと思いますが、「1」や「-1」を指定した場合の例です。
まずは「1」を指定した場合ですが、[検査値]以下の最大の値が検索されます。
下の表は「A1」から「A5」の範囲で「35」の値が何番目にあるかを表示する式です。
=MATCH(35,A1:A5,1)
[検査値]に「35」が無いので、近い数字を探すのですが「35」以下の最大の値が対象になります。
この場合は「30」つまり3番目の「3」が表示されることになります。
また、この場合、[検査値]のデータは昇順になっている必要があります。今回の場合も「10」~「50」と昇順で並んでいますね。
次に、[照合の種類]に「-1」を指定した場合です。
「-1」を指定した場合は、[検査値]以上の最小の値が検索されます。
先ほどと同じ「35」を[検査値]としてデータを降順に並べ替えた表をご覧ください。
「35」以上の最小の値である「40」、つまり上から2番目の「2」が表示されています。
ちなみに中に入っている関数はこちら。
=MATCH(35,A1:A5,-1)
完全に一致させる「0」以外を使用する場合は、しっかり違いを意識する必要がありますね。
まとめ
簡単にMATCH関数の仕組みだけ説明しました。今回の表での使用例ですが、項目などが何番目かを表示しても、はっきり言って意味がありません・・・。
やはり、MATCH関数はそれだけで使用する機会は少なく、VLOOKUP関数やINDEX関数と組み合わせて使用されることが多い関数です。
INDEX関数と組み合わせた例の参考が下のリンク先です。
表内を検索したいけど上手くいかない場合に、この関数を思い出して、他の関数と組み合わせると解決することがありますよ。
マッチでーす