WorksheetFunction メソッド (Excel)WorksheetFunction.VLookup method (Excel)

指定された範囲の 1 列目で特定の値を検索し、その範囲内の別の列の同じ行にある値を返します。Searches for a value in the first column of a table array and returns a value in the same row from another column in the table array.

構文Syntax

VLookup(Arg1Arg2Arg3Arg4)expression.VLookup (Arg1, Arg2, Arg3, Arg4)

: WorksheetFunction オブジェクトを表す変数。expression A variable that represents a WorksheetFunction object.

パラメーターParameters

名前Name 必須 / オプションRequired/Optional データ型Data type 説明Description
Arg1Arg1 必須Required バリアント型Variant 検索値: 範囲の左端の列で検索する値を指定します。Lookup_value - the value to search in the first column of the table array. 検索値には、値またはセル参照を指定します。Lookup_value can be a value or a reference. 検索値の値が範囲の最初の列の最小値より小さい場合、 VLookup #N/a エラー値を返します。If lookup_value is smaller than the smallest value in the first column of table_array, VLookup returns the #N/A error value.
Arg2Arg2 必須Required バリアント型Variant 範囲: 2 列以上のデータ列です。Table_array - two or more columns of data. セル範囲の参照、またはセル範囲名を指定します。Use a reference to a range or a range name. 範囲の左端の列の値が、検索値で検索される値です。The values in the first column of table_array are the values searched by lookup_value. これらの値は、文字列、数値、論理値のいずれかであることが必要です。These values can be text, numbers, or logical values. 英字の大文字と小文字は区別されません。Uppercase and lowercase text are equivalent.
Arg3Arg3 必須Required バリアント型Variant 列番号: 範囲内で目的のデータが入力されている列を、左端からの列数で指定します。Col_index_num - the column number in table_array from which the matching value must be returned. 列番号に 1 を指定すると、範囲の左端の列の値が返され、列番号に 2 を指定すると、範囲の左から 2 列目の値が返されます。A col_index_num of 1 returns the value in the first column in table_array; a col_index_num of 2 returns the value in the second column in table_array, and so on.
Arg4Arg4 省略可能Optional VariantVariant 検索文字列- VLookupメソッドを使用して完全一致または近似一致を検索するかどうかを指定する論理値です。Range_lookup - a logical value that specifies whether you want the VLookup method to find an exact match or an approximate match.

戻り値Return value

VariantVariant

注釈Remarks

VLookup メソッドの "V" は、縦方向 (vertical) の検索を意味します。The V in VLookup stands for vertical. 比較する値が検索データの左端列にある場合は、 HLookup メソッドではなく VLookup メソッドを使用してください。Use the VLookup method instead of the HLookup method when your comparison values are located in a column to the left of the data that you want to find.

Col_index_num が 1 未満の場合、VLookup メソッドはエラーを生成します。If Col_index_num is less than 1, the VLookup method generates an error.

Col_index_num が table_array の列数より大きい場合、VLookup メソッドはエラーを生成します。If Col_index_num is greater than the number of columns in table_array, the VLookup method generates an error.

検索にTrueを指定するか省略すると、正確な文字列または近似値が返されます。If Range_lookup is True or omitted, an exact or approximate match is returned. 完全一致が見つからない場合は、次に大きい値のうち、検査値より小さい値が返されます。If an exact match is not found, the next largest value that is less than lookup_value is returned. 範囲の最初の列の値は、昇順の並べ替え順序で配置する必要があります。それ以外の場合、 VLookupメソッドは正しい値を指定しません。The values in the first column of table_array must be placed in ascending sort order; otherwise, the VLookup method may not give the correct value.

検索がFalseの場合、 VLookupメソッドは完全に一致する文字列のみを検索します。If Range_lookup is False, the VLookup method will only find an exact match. この場合、table_array の最初の列の値を並べ替える必要はありません。In this case, the values in the first column of table_array do not need to be sorted. lookup_value と一致する値が table_array の最初の列に複数ある場合は、最初に検索された値が使用されます。If there are two or more values in the first column of table_array that match the lookup_value, the first value found is used. 完全に一致する値が見つからない場合は、エラーが生成されます。。If an exact match is not found, an error is generated.

範囲の最初の列のテキスト値を検索する場合は、範囲の先頭列のデータに、先頭のスペース、末尾の'スペース、および"``‘ 直線 (または) の引用符 (またはその両方) を使用しないようにします。記号、または文字を印刷しない。When searching text values in the first column of table_array, ensure that the data in the first column of table_array does not have leading spaces, trailing spaces, inconsistent use of straight (' or ") and curly ( or ) quotation marks, or nonprinting characters. このような場合、 VLookupメソッドを使用すると、誤った値または予期しない値が指定されることがあります。In these cases, the VLookup method may give an incorrect or unexpected value. 値の Clean と Trim の詳細については、「メソッドの Clean 」および「メソッドの Trim 」を参照してください。For information about how to clean or trim values, see the Clean and Trim methods.

数値や日付型の値を検索する場合は、table_array の最初の列にあるデータがテキスト値として保存されていないことを確認してください。When searching number or date values, ensure that the data in the first column of table_array is not stored as text values. これらのデータがテキスト値として保存されていると、VLookup によって正しくない値や予期しない値が返されます。In this case, the VLookup method may give an incorrect or unexpected value.

検索にFalseを指定し、検査値が文字列の場合は、検索値の中でワイルドカード文字、疑問符 (?)、およびアスタリスク (*) を使用できます。If range_lookup is False and lookup_value is text, you can use the wildcard characters, question mark (?) and asterisk (*), in lookup_value. ワイルドカード文字の疑問符は任意の 1 文字を表し、アスタリスクは任意の文字列を表します。A question mark matches any single character; an asterisk matches any sequence of characters. If you want to find an actual question mark or asterisk, type a tilde (~) preceding the character.If you want to find an actual question mark or asterisk, type a tilde (~) preceding the character.

サポートとフィードバックSupport and feedback

Office VBA またはこの説明書に関するご質問やフィードバックがありますか?Have questions or feedback about Office VBA or this documentation? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。Please see Office VBA support and feedback for guidance about the ways you can receive support and provide feedback.