関数 PR

【初心者向け】Excel 関数「MATCH関数」について超簡単解説!

記事内に商品プロモーションを含む場合があります

こんにちは!
今回は、Excelの便利な関数の一つである
「MATCH関数」について解説します

MATCH関数はデータを検索し、
その位置を返すために使用されます。
この記事では、初心者の方でも理解しやすいように
丁寧に解説していきますので、ぜひ最後までお読みください。

今回は「MATCH関数」について
初心者でも理解できる様に
丁寧に解説をしていきます!

1. MATCH関数とは?

MATCH関数の概要

MATCH関数は、指定した範囲内で特定の値が
最初に出現する位置を返す関数です

例えば、リストの中から特定の値を探して、
その値がリストの中の何番目にあるかを知りたい場合に使用します。

MATCH関数の構文

=MATCH(検索値, 検索範囲, [照合の種類])

  • 検索値: 探したい値。
  • 検索範囲: 検索する範囲。
  • 照合の種類: 一致の種類を指定します。
    1(または省略)は降順、0は完全一致、-1は昇順を示します。

2. MATCH関数の基本的な使い方

例1: 基本的な使用例

例えば、A列に名前のリストがあり、
その中から「田中」という名前の位置を探したい場合、次のように使用します。

セルA1: 佐藤
セルA2: 鈴木
セルA3: 田中
セルA4: 山田

セルB1に次のように入力します。

=MATCH("田中", A1:A4, 0)

この場合、結果は3となり、「田中」がリストの3番目にあることを示します

例2: 部分一致の使用

完全一致だけでなく、部分一致を使うこともできます。
例えば、セルA1からA4に名前が入っているとします。

セルA1: 佐藤一郎
セルA2: 鈴木次郎
セルA3: 田中三郎
セルA4: 山田四郎

セルB1に次のように入力します。

=MATCH("田中*", A1:A4, 0)

この場合、結果は3となり、
「田中」で始まる名前がリストの3番目にあることを示します

3. MATCH関数の応用例

応用例1: VLOOKUP関数との併用

MATCH関数はVLOOKUP関数と併用することで、
より柔軟な検索が可能になります

例えば、商品リストから特定の商品の価格を取得する場合を考えます。

セルA1: 商品名
セルA2: りんご
セルA3: バナナ
セルA4: みかん

セルB1: 価格
セルB2: 100
セルB3: 150
セルB4: 200

セルC1: 検索値
セルC2: バナナ

セルD1に次のように入力します。

=VLOOKUP(C2, A1:B4, 2, FALSE)

この場合、結果は150となり、「バナナ」の価格が表示されます
ここでMATCH関数を使って列を動的に指定することもできます。

=VLOOKUP(C2, A1:B4, MATCH("価格", A1:B1, 0), FALSE)

このように、MATCH関数を使うことで列の位置を動的に設定することができます。

応用例2: 複数条件の検索

MATCH関数は複数条件の検索にも使用できます。
例えば、各月の売上データから特定の月の売上を探す場合を考えます。

セルA1: 月
セルA2: 1月
セルA3: 2月
セルA4: 3月

セルB1: 売上
セルB2: 1000
セルB3: 2000
セルB4: 3000

セルC1: 検索月
セルC2: 2月

セルD1に次のように入力します。

=INDEX(B2:B4, MATCH(C2, A2:A4, 0))

この場合、結果は2000となり、2月の売上が表示されます
INDEX関数とMATCH関数を組み合わせることで、
特定の条件に基づいてデータを抽出することができます。

4. MATCH関数を使用したVBAコード

VBAを使ってMATCH関数を実行する方法も紹介します。
これにより、さらに自動化が進みます。

Sub MatchExample()
    Dim ws As Worksheet
    Set ws = ThisWorkbook.Sheets("Sheet1")

    ' 検索値を設定
    Dim searchValue As String
    searchValue = ws.Range("C2").Value

    ' 検索範囲を設定
    Dim searchRange As Range
    Set searchRange = ws.Range("A2:A4")

    ' MATCH関数を使用して位置を取得
    Dim matchResult As Variant
    matchResult = Application.WorksheetFunction.Match(searchValue, searchRange, 0)

    ' 結果を表示するセルを設定
    ws.Range("D2").Value = matchResult
End Sub

このスクリプトは、シート「Sheet1」のセルC2に入力された値を検索し、
その値が範囲A2:A4の中で何番目にあるかをD2セルに表示します。

5. 記事のまとめ

MATCH関数は、Excelの中でも非常に便利で強力な検索関数です。
データの位置を特定するのに役立ち、他の関数と組み合わせることで、
さらに高度なデータ操作が可能になります。
ぜひ、この記事を参考にしてMATCH関数を活用してみてください。

これからも一緒に学んでいきましょう!

【お使いのパソコンにExcelをインストールする】

created by Rinker
¥14,899 (2024/12/23 20:26:25時点 楽天市場調べ-詳細)
マイクロソフト Excel 2021

【オススメExcel書籍はこちらから購入可能!】

created by Rinker
¥1,738 (2024/12/23 21:53:02時点 楽天市場調べ-詳細)

この記事を書いている人

◉てるパパ(telpapa)
本業でExcelを駆使して業務改善を行う
30代会社員