VLOOKUP、INDEX、または MATCH を使って値を検索する

大きいリストで値を検索するには、検索関数を使います。 VLOOKUP が広く利用されますが、HLOOKUP 関数、および INDEX 関数と MATCH 関数の組み合わせも非常に役立ちます。

VLOOKUP とそこで使用する引数について説明します。

=VLOOKUP(<検索値>,<検索範囲>,<列>,<近似一致>)

例: =VLOOKUP(21500,C2:E7,3,FALSE)

  • 最初の引数 (この関数の作業対象部分) は、検索しようとしている値です。 これは、セル参照でも、B2 または "smith" や 21500 のような値を直接指定してもかまいません。

  • 2 番目の引数は、見つけようとしている値が入力されていると思われるセル範囲です。

    重要: VLOOKUP では、検索する値やセル参照が入力されている列は、範囲の左端の列である必要があります。

  • 3 番目の引数は、セルの検索範囲内の、表示したい値が入力されている列です。

4 番目の引数はオプションで、ほとんどのユーザーは「FALSE」 (または「0」) を入力します。その理由は、この関数を使った検索で完全に一致する値が検索されるからです。引数を省略するか、「TRUE」を入力することができますが、完全に一致する値が見つからない場合は、最も近い値が関数の結果として返されます。通常、ほとんどのユーザーは近似一致を必要としません。

近似一致がいかに重大な問題となるかを示すために、ID 2345768 の部品の価格を検索する際、2 つの数字を入れ替えて =VLOOKUP(2345678,A1:E7,5) のように誤った番号を数式に入力するとします。VLOOKUP によって、指定した番号 (2345678) 以下の最も近い番号が見つかるため、誤った部品の価格が返されます。この誤入力が原因で、間違った金額を顧客に請求してしまう可能性があります。

近似一致の引数に「FALSE」または「0」を指定し、完全に一致する値がない場合は、誤った値ではなく #N/A がセルに返されます。これがより良いシナリオです。 この場合、#N/A は、数式の誤入力 (誤入力した番号を除く) を意味するのではなく、正しい番号は 2345768 であるため、2345678 が見つからなかったことを意味します。

この例では、関数がどのように機能するかについて説明します。値をセル B2 (最初の引数) に入力すると、VLOOKUP によってセル C2:E7 (2 番目の引数) が検索されて、この範囲内の 3 つ目の列、つまり列 E (3 番目の引数) の値のうち最も近いものが返されます。

VLOOKUP 関数の典型的な使い方

この例では、4 番目の引数は空白のままであるため、この関数から返されるのは最も近い値です。

HLOOKUP 関数を使う

VLOOKUP の使い方を覚えたら、HLOOKUP 関数を使うのは難しくありません。 同じ引数を入力しますが、HLOOKUP 関数では列ではなく行の値が検索されます。

INDEX と MATCH を組み合わせて使う

左端の列での検索に限定しない場合は、INDEX 関数と MATCH 関数の組み合わせを使うことができます。 これらの関数の組み合わせを使った数式は、VLOOKUP 関数を使った数式よりも少し複雑ですが、より便利な機能です。VLOOKUP 関数よりも INDEX と MATCH の組み合わせを好んで使うユーザーもいます。

この例では、検索する値であるシカゴが左端の列にない小さいリストについて説明します。 そのため、VLOOKUP を使うことはできません。 代わりに、MATCH 関数を使って範囲 B1:B11 でシカゴを検索します。 シカゴは行 4 にあります。 次に、INDEX ではその値を引数として使用して、4 番目の列 (列 D) にあるシカゴの人口を検索します。 使用された数式はセル A14 に表示されます。

INDEX と MATCH を使って値を検索する

検索関数に関するその他の情報

ページの先頭へ

スキルを磨く
トレーニングの探索
新機能を最初に入手
Office Insider に参加する

この情報は役に立ちましたか?

ご意見をいただきありがとうございます。

フィードバックをお寄せいただき、ありがとうございます。Office サポートの担当者におつなぎいたします。

×