Office
 Computer >> コンピューター >  >> ソフトウェア >> Office

ExcelでINDEXおよびMATCH関数を使用する方法

知っておくべきこと

  • INDEX関数は単独で使用できますが、MATCH関数をその中にネストすると、高度なルックアップが作成されます。
  • この入れ子関数はVLOOKUPよりも柔軟性があり、結果をより速く生成できます。

この記事では、Excel2019やMicrosoft365を含むすべてのバージョンのExcelでINDEX関数とMATCH関数を一緒に使用する方法について説明します。

INDEX関数とMATCH関数とは何ですか?

INDEXとMATCHはExcelのルックアップ関数です。これらは、単独で使用できる2つの完全に別個の関数ですが、組み合わせて高度な数式を作成することもできます。

INDEX関数は、特定の選択範囲内から値または値への参照を返します。たとえば、データセットの2行目、または5行目と3列目の値を見つけるために使用できます。

INDEXは単独で使用することもできますが、数式にMATCHをネストすると、もう少し便利になります。 MATCH関数は、セルの範囲内で指定されたアイテムを検索し、範囲内のアイテムの相対位置を返します。たとえば、特定の名前が名前のリストの3番目の項目であると判断するために使用できます。

ExcelでINDEXおよびMATCH関数を使用する方法

INDEXおよびMATCHの構文と引数

これは、Excelがそれらを理解するために両方の関数を記述する必要がある方法です:

=インデックス配列 row_num 、[ column_num ])

  • 配列 数式が使用するセルの範囲です。 A1:D5など、1つ以上の行と列にすることができます。必須です。
  • row_num は、2や18などの値を返す配列内の行です。 column_num でない限り、これは必須です。 存在します。
  • column_num は、1や9などの値を返す配列内の列です。これはオプションです。

=一致 lookup_value lookup_array 、[ match_type ])

  • lookup_value lookup_arrayで照合する値です。 。手動で入力するか、セル参照を介して参照する数値、テキスト、または論理値にすることができます。これは必須です。
  • lookup_array 調べるセルの範囲です。これは、A2:D2やG1:G45などの単一の行または単一の列にすることができます。これは必須です。
  • match_type -1にすることができます 、 0 、または 1 lookup_value lookup_arrayの値と一致します (下記参照)。 1 この引数を省略した場合のデフォルト値です。
使用するマッチタイプ 一致タイプ 機能 ルール 1 lookup_value以下の最大値を検索します 。 lookup_array 値は昇順で配置する必要があります(例:-2、-1、0、1、2、またはA-Z、またはFALSE、TRUE。 lookup_value 25ですが、 lookup_arrayにありません。 、したがって、22など、次に小さい数値の位置が代わりに返されます。0 lookup_valueと完全に等しい最初の値を検索します。 。 lookup_array 値は任意の順序にすることができます。lookup_value は25であるため、25の位置を返します。-1 lookup_value以上の最小値を検索します。 。lookup_array 値は降順で配置する必要があります(例:2、1、0、-1、-2)。 lookup_value 25ですが、 lookup_arrayにありません。 、したがって、34のように、次に大きい数値の位置が代わりに返されます。

1を使用する または-1 数値を処理する場合や近似に問題がない場合など、スケールに沿って近似ルックアップを実行する必要がある場合。ただし、 match_typeを指定しない場合は注意してください 、 1 がデフォルトになります。完全に一致させたい場合は、結果が歪む可能性があります。

INDEXおよびMATCH式の例

INDEXとMATCHを1つの数式に組み合わせる方法を検討する前に、これらの関数が単独でどのように機能するかを理解する必要があります。

INDEXの例

=INDEX(A1:B2,2,2)
=INDEX(A1:B1,1)
=INDEX(2:2,1)
=INDEX(B1:B2,1)
ExcelでINDEXおよびMATCH関数を使用する方法

この最初の例では、さまざまな値を取得するために使用できる4つのINDEX式があります。

  • =INDEX(A1:B2,2,2) A1:B2を調べて、2番目の列と2番目の行の値( Stacy )を見つけます。 。
  • =INDEX(A1:B1,1) A1:B1を調べて、最初の列の値( Jon )を見つけます。 。
  • =INDEX(2:2,1) 2行目のすべてを調べて、最初の列の値(Tim。)を見つけます。
  • =INDEX(B1:B2,1) B1:B2を調べて、最初の行の値( Amy )を見つけます。 。

MATCHの例

=MATCH("Stacy",A2:D2,0)
=MATCH(14,D1:D2)
=MATCH(14,D1:D2,-1)
=MATCH(13,A1:D1,0)
ExcelでINDEXおよびMATCH関数を使用する方法

MATCH関数の4つの簡単な例を次に示します。

  • =MATCH( "Stacy"、A2:D2,0) ステイシーを検索しています A2:D2の範囲 3を返します 結果として。
  • =MATCH(14、D1:D2) 14を検索しています D1:D2の範囲 、ただし、テーブルに見つからないため、MATCHは次のを見つけます。 14以下の最大値 、この場合は 13 、位置 1 lookup_array
  • =MATCH(14、D1:D2、-1) 上記の式と同じですが、配列が -1のように降順ではないためです。 必要な場合、エラーが発生します。
  • =MATCH(13、A1:D1,0) 13を探しています シートの最初の行で、 4を返します これはこの配列の4番目の項目だからです。

INDEX-MATCHの例

INDEXとMATCHを1つの数式に組み合わせることができる2つの例を次に示します。

表でセル参照を検索

=INDEX(B2:B5,MATCH(F1,A2:A5))
ExcelでINDEXおよびMATCH関数を使用する方法

この例では、MATCH式をINDEX式内にネストしています。目標は、アイテム番号を使用してアイテムの色を識別することです。

画像を見ると、「区切り」の行で数式がどのように記述されているかがわかりますが、ネストしているため、次のようになっています。

  • MATCH(F1、A2:A5) F1を探しています データセットの値(8795) A2:A5 。列をカウントダウンすると、 2であることがわかります。 、これがMATCH関数が理解したことです。
  • INDEX配列はB2:B5 最終的にその列の値を探しているからです。
  • INDEX関数は、 2 以降、次のように書き直すことができます。 MATCHが見つけたものです: INDEX(B2:B5、2、[column_num])
  • column_num以降 オプションの場合、これを削除して、 INDEX(B2:B5,2)を残すことができます。 。
  • これで、これは通常のINDEX数式のようになり、 B2:B5の2番目の項目の値を検索します。 、

行と列の見出しによるルックアップ

=INDEX(B2:E13,MATCH(G1,A2:A13,0),MATCH(G2,B1:E1,0))
ExcelでINDEXおよびMATCH関数を使用する方法

このMATCHとINDEXの例では、双方向のルックアップを実行しています。アイデアは、グリーンからどれだけのお金を稼いだかを確認することです。 5月のアイテム 。これは上記の例と非常に似ていますが、追加のMATCH式がINDEXにネストされています。

  • MATCH(G1、A2:A13,0) この式で解かれる最初の項目です。 G1を探しています (「5月」という言葉) A2:A13 特定の値を取得します。ここには表示されていませんが、 5
  • MATCH(G2、B1:E1,0) は2番目のMATCH式であり、最初の式と非常に似ていますが、代わりに G2を探しています。 B1:E1 の列見出しの(「緑」という単語) 。これは3に解決されます 。
  • これで、INDEX式を次のように書き直して、何が起こっているかを視覚化できます。 =INDEX(B2:E13,5,3) 。これは、テーブル全体を調べています。 B2:E13 、5行目と3列目は、 $ 180を返します。 。

MATCHおよびINDEXルール

これらの関数を使用して数式を作成する場合は、次の点に注意してください。

  • MATCHでは大文字と小文字が区別されないため、テキスト値を照合する場合、大文字と小文字は同じように扱われます。
  • MATCHは#N / Aを返します 複数の理由: match_typeの場合 は0 およびlookup_value match_type の場合、見つかりません は-1 およびlookup_array match_type の場合、降順ではありません は1 およびlookup_array 昇順ではなく、 lookup_array 単一の行または列ではありません。
  • lookup_valueではワイルドカード文字を使用できます match_typeの場合の引数 は0 およびlookup_value テキスト文字列です。疑問符は任意の1文字に一致し、アスタリスクは任意の文字シーケンスに一致します(例: =MATCH( "Jo *"、1:1,0) )。 MATCHを使用して実際の疑問符またはアスタリスクを見つけるには、〜firstと入力します。
  • INDEXは#REF!を返します row_numの場合 およびcolumn_num 配列内のセルを指さないでください。

関連するExcel関数

MATCH関数はLOOKUPに似ていますが、MATCHは位置を返します。 アイテム自体の代わりにアイテムの。

VLOOKUPはExcelで使用できるもう1つのルックアップ関数ですが、高度なルックアップにINDEXを必要とするMATCHとは異なり、VLOOKUP数式にはその1つの関数のみが必要です。


  1. MATCH関数の使用方法MicrosoftExcel

    マッチ Microsoft Excelで機能する ルックアップおよび参照機能です 、およびその目的は、セルの範囲内の特定のアイテムを検索し、その範囲内のそのアイテムの相対位置を返すことです。 MATCHの式は、MATCH(lookup_ value, lookup_array[match_type])です。 。 一致関数の構文は次のとおりです。 Lookup_ value:lookup_arrayで照合する値。必須です。 Lookup_array:検索されるセルの範囲。必須です。 Match_type:lookup_valueがlookup_arrayとどのように一致するかを指定し

  2. ExcelでRANDBETWEEN関数を使用する方法

    Microsoft Excelでは、 RANDBETWEEN 関数は数学および三角関数であり、その目的は、指定した数値の間の乱数を返すことです。 RANDBETWEEN関数の式はRANDBETWEEN (bottom, top)です。 。 このチュートリアルでは、RANDBETWEEN関数の使用方法を説明します。 RANDBETWEEN関数の構文。 下部 :RANDBETWEEN関数が返す最小の整数。必須です。 トップ :RANDBETWEEN関数が返す最大の整数。必須です。 RANDBETWEEN関数の使用方法 MicrosoftPowerPointを開きます。 テーブルを作成し