VLOOKUPで近似一致を行う方法を知っています。しかし、INDEX MATCHを使用して近似一致を行うにはどうすればよいですか?この記事では、INDEXとMATCHを使用して近似一致を行う方法をExcelで学習します。

近似一致の一般式

=INDEX(result_array,MATCH(lookup value,lookup array,1))

Result_array:結果を取得するインデックス。

Lookup_value:lookup_arrayで探している値。

Lookup_array:ルックアップ値を検索する配列:

注:正しい答えを得るには、ルックアップテーブルを昇順で並べ替える必要があります。

例を挙げて学びましょう。

例:成績を取得するために近似INDEXMATCHを実行します

ここに、定期テストで得られた点数を持つ学生のリストがあります。別の表に従って、これらの生徒に成績を付ける必要があります。 Fとして0〜39、Dとして40〜59、Cとして60〜79、Bとして80〜89、Aとして90以上。

ルックアップテーブル(マークとグレード)は昇順で並べ替えられていることに注意してください。

0032

この式をE2に書き、それをコピーします。

=INDEX($I$2:$I$6,MATCH(D2,$H$2:$H$6,1))

0033

どのように機能しますか?

この式は、範囲内で近似一致を実行するMATCHの機能を使用しています。実際、MATCH関数に1、TRUE、または何も指定しない場合、ルックアップ値の近似一致が実行されます。つまり、ルックアップ範囲で指定された値が見つからない場合は、指定された数よりも小さい最後に見つかった値を返します。

したがって、E3の式を見ると、 link:/ lookup-formulas-excel-index-function [INDEX]($ I $ 2:$ I $ 6、 `link:/ lookup-formulas-excel-match- function [MATCH] `(D3、$ H $ 2:$ H $ 6,1))

MATCH関数は、H2:H6の範囲でD3(36)の値を探します。範囲内で36を見つけることができません。したがって、H2:H6で見つかった36未満の最後の値のインデックスを返します。その値は0で、そのインデックスは1です。

したがって、 link:/ lookup-formulas-excel-match-function [MATCH](D3、$ H $ 2:$ H $ 6,1)

これは、E3では1に変換されます。

これで、数式 link:/ lookup-formulas-excel-index-function [INDEX]($ I $ 2:$ I $ 6,1)ができました。

そしてこれはFを返します。

そうですね、これは、ExcelでINDEX関数とMATCH関数を使用して近似一致を行う方法です。このトピックまたはExcel2019、2016、2013以前のトピックについて疑問がある場合は、以下のコメントセクションをお知らせください。

ファイルのダウンロード: