【Excel】かっこいい?MATCH関数の使い方2017-07-11カテゴリ:マスターデータ入力/作成タグ:Excel【Excel】かっこいい?MATCH関数の使い方この記事は公開から1年以上が経過しています。情報が古い可能性がありますのでご注意ください。かっこいいと思ったMATCH関数の使い方をご紹介します。MATCH関数について今回紹介するのは、エクセルに備わっているMATCH関数です。初めに、MATCH関数の基本的な使い方をご紹介しようと思います。MATCH関数は、指定した値を指定した範囲から探し「範囲の中の何番目にあるのか」を教えてくれる関数です。[照合の型])の順に指定します。1検査値:これが探したい値です。2検査範囲:1で設定した値を探したい範囲です。3照合の型:これはどのような検索方法をするか、です。ここには1,0,-1の値が設定でき、1:検査値以下の最大の値0:検査値に完全一致する値-1:検査値以上の最小の値を検索します。「銃士A」の検査範囲内での位置、「3」が返されます。かっこいい?使い方ゲーム開発でマスターデータをエクセルで作成している場合、よくVLOOKUP関数というものを用いて、キャラや装備に対応したコード等を検索するということがあると思います。このVLOOKUP関数は便利な関数なのですが、一つ欠点があり、それは「基準値より左側のセルを検索できない」ということです。ゲーム開発ではたまに、コードから逆にキャラを検索したい!という場面に出くわしたりします。そんな時、MATCH関数とOFFSET関数という二つの関数を組み合わせることで、VLOOKUP関数できなかった、柔軟な検索が可能になります。)と指定することで、検査範囲の一番左の列の中から検査値を見つけ、列番号に対応した値を出力しれくれる関数です。この関数は、前述のとおり、「検査値よりも左側の列を検索できない」という性質を持っています。例として下図の赤矢印方向には検索できますが、青矢印方向の検索はできません。VLOOKUP関数では、上図の「キャラからコードの検索」は可能ですが、「コードから逆引きでキャラを検索」することは(列追加等しない限り)出来ないのです。OFFSET関数とMATCH関数を組み合わせると、VLOOKUP関数ではできなかった、左側検索が可能になります。◎OFFSET関数OFFSET関数は基準となるセルから指定した行・列数分だけ移動したセル内容を返す関数です。OFFSET(基準,行数,列数)で指定し、基準から行数、列数分だけ移動した場所の内容を教えてくれます。下図の例では、「キャラ名」から下へ2行、右へ1列だけ移動したセルを参照しています。通常、行数や列数の指定に正の値を入れると、基準のセルより下の行、右の列を対象に移動します。このOFFSET関数は「マイナス」の行数列数が指定でき、基準セルより上側・左側にも移動可能です。-1)のように、OFFSET関数の行数指定にMATCH関数を用いると、MATCH関数で見つけた場所まで移動し、その後左側へ1列移動する、「左側検索」が可能になるのです!ここで行数指定をMATCH(検査値,検索範囲,0)-1と、「-1」しているのは、OFFSET関数が基準セルを「0番目」と数えるのに対し、MATCH関数は基準セルを「1番目」と数えるためです。終わりにいかがでしょうか。実はINDEX関数とMATCH関数の組み合わせでも同様のことが可能です。今回はVLOOKUP関数を比較対象にしましたが、同様にHLOOKUP関数の代用としても使えます。この技には検索方向の制約はなく、応用すればどこのセルでも検索対象にすることが可能になります。複数の関数を組み合わせている以上、後から見て分かりにくくなることには注意が必要です。viewsTweetこの記事を書いた人ガニメデ2017入社ゲームプランナーです。最近はイカした色塗りバトルを繰り広げています。「いいね!」するとDoRubyの最新記事を受け取ることができます。