WorksheetFunction.VLookup メソッド (Excel)

指定された範囲の 1 列目で特定の値を検索し、その範囲内の別の列の同じ行にある値を返します。

構文

VLookup (Arg1, Arg2, Arg3, Arg4)

: WorksheetFunction オブジェクトを表す変数。

パラメーター

名前 必須 / オプション データ型 説明
Arg1 必須 バリアント型 (Variant) 検索値: 範囲の左端の列で検索する値を指定します。 検索値には、値またはセル参照を指定します。 lookup_valueがtable_arrayの最初の列の最小値よりも小さい場合、 VLookup は#N/A エラー値を返します。
Arg2 必須 バリアント型 (Variant) 範囲: 2 列以上のデータ列です。 セル範囲の参照、またはセル範囲名を指定します。 範囲の左端の列の値が、検索値で検索される値です。 これらの値は、文字列、数値、論理値のいずれかであることが必要です。 英字の大文字と小文字は区別されません。
Arg3 必須 バリアント型 (Variant) 列番号: 範囲内で目的のデータが入力されている列を、左端からの列数で指定します。 列番号に 1 を指定すると、範囲の左端の列の値が返され、列番号に 2 を指定すると、範囲の左から 2 列目の値が返されます。
Arg4 省略可能 バリアント型 Range_lookup - VLookup メソッドで完全一致と近似一致のどちらを検索するかを指定する論理値。

戻り値

Variant

注釈

VLookup メソッドの "V" は、縦方向 (vertical) の検索を意味します。 比較する値が検索データの左端列にある場合は、 HLookup メソッドではなく VLookup メソッドを使用してください。

Col_index_num が 1 未満の場合、VLookup メソッドはエラーを生成します。

Col_index_num が table_array の列数より大きい場合、VLookup メソッドはエラーを生成します。

Range_lookupが True または省略された場合は、完全一致または近似一致が返されます。 完全一致が見つからない場合は、lookup_value未満の次の最大値が返されます。 table_arrayの最初の列の値は昇順で並べ替える必要があります。それ以外の場合、 VLookup メソッドは正しい値を指定しない可能性があります。

Range_lookupが False の場合、 VLookup メソッドは完全一致のみを検出します。 この場合、table_arrayの最初の列の値を並べ替える必要はありません。 lookup_value と一致する値が table_array の最初の列に複数ある場合は、最初に検索された値が使用されます。 完全に一致する値が見つからない場合は、エラーが生成されます。。

table_arrayの最初の列でテキスト値を検索する場合は、table_arrayの最初の列のデータに先頭のスペース、末尾のスペース、直線 (' または ) と中 ( または ") の引用符の一貫性のない使用、または印刷されていない文字が含まれていないことを確認します。 このような場合、 VLookup メソッドは正しくない値または予期しない値を与える可能性があります。 値の Clean と Trim の詳細については、「メソッドの Clean 」および「メソッドの Trim 」を参照してください。

数値や日付型の値を検索する場合は、table_array の最初の列にあるデータがテキスト値として保存されていないことを確認してください。 これらのデータがテキスト値として保存されていると、VLookup によって正しくない値や予期しない値が返されます。

range_lookupが False で、lookup_valueがテキストの場合は、ワイルドカード文字、疑問符 (?)、アスタリスク (*) をlookup_valueで使用できます。 ワイルドカード文字の疑問符は任意の 1 文字を表し、アスタリスクは任意の文字列を表します。 If you want to find an actual question mark or asterisk, type a tilde (~) preceding the character.

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。