Microsoft Excel のルックアップ関数は、 大量のデータがある場合に必要なものを見つけるのに最適です。これを行うには 3 つの一般的な方法があります。 INDEX と MATCH、VLOOKUP、XLOOKUP。しかし、違いは何でしょうか?
INDEX と MATCH、VLOOKUP、XLOOKUP はそれぞれ、データを検索して結果を返すという目的を果たします。それぞれの動作は少し異なり、数式には特定の構文が必要です。いつどれを使えばいいのでしょうか?どちらが良いでしょうか?あなたにとって最適なオプションを知るために見てみましょう。
INDEX と MATCH の使用
明らかに、INDEX と MATCH の組み合わせは、2 つの名前付き関数を組み合わせたものです。 INDEX 関数と MATCH 関数の個別の使用方法の詳細については、 INDEX 関数 と MATCH 関数の ハウツーを参照してください。
このデュオを使用する場合、それぞれの構文は次のとおりです。
INDEX( array , row_number, column_number)
そして
MATCH(value, array , match_type)
。
2 つを組み合わせると、次のような構文になります。
INDEX(return_array, MATCH(lookup_value, lookup_array))
最も基本的な形式で。いくつかの例を見るのが最も簡単です。
A2 ~ A8 の範囲でセル G2 の値を検索し、B2 ~ B8 の範囲で一致する結果を提供するには、次の数式を使用します。
=INDEX(B2:B8,MATCH(G2,A2:A8))
セル参照を使用する代わりに検索したい値を挿入する場合、数式は次のようになります。2B が検索値です。
=INDEX(B2:B8,MATCH("2B",A2:A8))
結果はどちらの公式でもヒューストンでした。
必要に応じて、 INDEX と MATCH の使用方法 を詳しく説明したチュートリアルもあります。
VLOOKUPの使用
VLOOKUP は、しばらくの間 Excel で人気のある参照関数です。 V は垂直の略なので、VLOOKUP では左から右へ垂直方向の検索を行うことになります。
構文は
VLOOKUP(lookup_value, lookup_array, column_number, range_lookup)
で、最後の引数はオプションで True (近似一致) または False (完全一致) になります。
INDEX および MATCH と同じデータを使用して、A2 から D8 までの範囲のセル G2 の値を検索し、一致する 2 番目の列の値を返します。次の式を使用します。
=VLOOKUP(G2,A2:D8,2)
ご覧のとおり、VLOOKUP を使用した結果は、INDEX および MATCH を使用した場合と同じです (ヒューストン)。違いは、VLOOKUP ではより単純な数式が使用されることです。 VLOOKUP の詳細 については、ハウツーをご覧ください。
では、なぜ VLOOKUP の代わりに INDEX と MATCH を使用するのでしょうか?答えは、VLOOKUP は検索値が必要な戻り値の左側にある場合にのみ機能するためです。
逆に、4 列目の値を検索し、2 列目に一致する値を返したい場合は、必要な結果が得られず、さらにはエラーが発生する可能性があります。 Microsoft は次のように 書いています 。
VLOOKUP が正しく機能するには、ルックアップ値が常に範囲の最初の列にある必要があることに注意してください。たとえば、検索値がセル C2 にある場合、範囲は C で始まる必要があります。
INDEX と MATCH はセル範囲または配列全体をカバーするため、数式が少し複雑であっても、より堅牢な検索オプションになります。
XLOOKUPの使用
XLOOKUP は、VLOOKUP および対応する HLOOKUP (水平参照) の後に Excel に登場した参照関数です。 XLOOKUP と VLOOKUP の違いは、XLOOKUP は、ルックアップ値と戻り値がセル範囲または配列のどこにあっても機能することです。
構文は
XLOOKUP(lookup_value, lookup_array, return_array, not_found, match_mode, search_mode)
です。最初の 3 つの引数は必須であり、VLOOKUP 関数の引数と似ています。 XLOOKUP は、値が見つからない場合にテキスト結果を返すための 3 つのオプションの引数、一致の種類のモード、および検索の実行方法のモードを最後に提供します。
この記事では、最初の 3 つの必須引数に焦点を当てます。
先ほどのセル範囲に戻り、A2 ~ A8 の範囲で G2 の値を検索し、次の式を使用して B2 ~ B8 の範囲から一致する値を返します。
=XLOOKUP(G2,A2:A8,B2:B8)
また、INDEX と MATCH、VLOOKUP と同様に、数式はヒューストンを返しました。
4 番目の列の値をルックアップ値として使用し、2 番目の列で正しい結果を受け取ることもできます。
=XLOOKUP(20745,D2:D8,B2:B8)
これを念頭に置くと、XLOOKUP の方が VLOOKUP よりも優れたオプションであることがわかります。その理由は、単にデータを好きなように配置でき、なおかつ希望の結果を得ることができるからです。 XLOOKUP の完全なチュートリアル については、ハウツーを参照してください。
さて、あなたは、XLOOKUP または INDEX and MATCH を使用するべきか疑問に思っていますよね?ここでは考慮すべき点がいくつかあります。
どちらが良いですか?
すでに INDEX 関数と MATCH 関数を個別に使用し、値を検索するためにこれらを組み合わせて使用したことがある場合は、それらの機能についてはよく理解しているかもしれません。ぜひ、壊れていないのであれば、修理せずに自分が快適に使えるものを使い続けてください。
そしてもちろん、データが VLOOKUP で動作するように構造化されており、その関数を何年も使用している場合は、そのまま使用し続けることも、INDEX と MATCH を無視して XLOOKUP に簡単に移行することもできます。
どの方向でもシンプルで簡単に数式を作成したい場合は、INDEX と MATCH の代わりに XLOOKUP を使用するのが最適です。 2 つの関数の引数を 1 つに結合したり、データを再配置したりすることを心配する必要はありません。
最後の考慮事項として、 XLOOKUP には、ニーズに役立つ 3 つのオプションの引数が用意 されています。
あなたに! Microsoft Excel でどの検索オプションを使用しますか?それとも、ニーズに応じて 3 つすべてを使用するのでしょうか?何はともあれ、選択肢があるのは嬉しいですね!





