特定の文字列が表示されているセルの行・列番号を調べたい。こんなとき、便利なエクセル関数がMATCH関数です。基本的な使い方と、他の関数と組み合わせての利用法を紹介します。
目次
MATCH関数の基本の使い方
MATCH関数は、特定の条件に当てはまるセルが、指定の行・列のうち何番目にあるかを番号で返す関数です。以下のように記述します。
=MATCH(検査値, 検査範囲, [照合の型])
「照合の型」には「1(検査値以下の最大値)」「0(完全一致)」「-1(検査値以上の最小の値)」のいずれかを指定します。1と-1を指定すると、数字なら0~9、文字ならa~zの順に、昇順・降順を判定し検索を行います。
「氏名」「商品番号」などの特定の文字列や、「0000」など特定の番号の行・列を調べたい場合は、通常「0(完全一致)」を使用します。
▼MATCH関数の使用例
こちらの例では「ピーマン」という文字列が、左側のリストの上から何番目にあるかを取得しています(リストが横並びの場合は左からカウント)。実行結果は以下のとおりです。
無事、ピーマンが「上から3つめにある」ことが確認できました!
MATCH関数は、特定の文字列や数値がリストの何番目にあるか教えてくれる関数であり、それ以上のことはできません。どんなシーンで使えるのか、イメージしづらいですよね。そのため、単体で利用することはあまりなく、他の関数と組み合わせて使用するのが一般的です。
INDEX関数と組み合わせて表からデータ検索をする例
MATCH関数の利用法はさまざまですが、組み合わせとして多いのがINDEX関数とのコンビです。
INDEX関数は、範囲と行番号・列番号を指定することで、範囲内の行・列に位置するセルの値を取得できる関数です。記述は以下のとおり。
=INDEX(配列,行番号,[列番号])
では、例を見てみましょう。
これは、とある食品商社の在庫管理リストです。商品番号を入力すると在庫数量が出るよう、セルC16に関数を設定します。
ここでは、INDEX関数と、2回のMATCH関数を使用します。
INDEX関数は、行番号と列番号と指定し、その交差するセルの値を取り出します。直接行・列番号を打ち込んでも結果は出ますが、商品番号は何が指定されるかわからないため、MATCH関数による行番号の取得が必要です。
なお、”在庫数量”の列番号は変動しないため、列番号は直接入力しても問題ありません。ただし、実際の業務では表をコピーして使い回すことが珍しくないため、MATCH関数で列を検索できるようにした方が使い勝手は良いでしょう。
では、B2からB13の範囲から該当の商品番号を、B2からD2の範囲から”在庫数量”の文字列を検索し、行・列が交差するセルの値を取得します。
関数は以下のとおりです。
実行結果は以下のとおりです。
商品番号「30001」である「冷凍パイシート」の在庫数量は4です。この関数で「在庫数量」のセルにきちんと商品番号に対応した数量が表示されているのがわかります。
MATCH関数は組み合わせ次第で用途が広がる
MATCH関数は、単体での使用はあまりしませんが、他の関数と組み合わせることで、エクセルでできることが大幅に増加します。ぜひ使ってみてください。
インターネットを最大限楽しむには「ビッグローブ光」の光回線がオススメ!
「インターネット回線が遅い」
「インターネット料金が高い」
などのお悩みはありませんか?
安定した速度とリーズナブルな光回線なら、
IPv6接続(IPoE方式)*1で最大10Gbps*2の「ビッグローブ光」がオススメです。
「ビッグローブ光」なら他社の光回線(フレッツ光・コラボ光)をお使いでもお乗り換えはかんたんです。工事費実質無料、おトクな特典もご用意しています。
*1 IPv6に対応していないサービス/サイトはIPv4接続となります。
*2 最大通信速度は光回線タイプによって異なります。最大通信速度はお客さまのご利用機器、宅内配線、回線の混雑状況などにより低下します。
光回線についてもっと詳しく知りたいという方は、
以下の記事も併せてご覧ください。