WorksheetFunction.VLookup 方法 (Excel)

在表格陣列的第一欄中搜尋某個數值,並傳回該表格陣列中同一列之其他欄中的數值。

語法

運算式VLookup (Arg1Arg2Arg3Arg4)

運算式 代表 WorksheetFunction 物件的變數。

參數

名稱 必要/選用 資料類型 描述
Arg1 必要 Variant Lookup_value - 要在表格陣列的第一欄中搜尋的值。 lookup_value 可以是數值,也可以是參照。 如果lookup_value小於 table_array 第一欄中的最小值, VLookup 會傳回 #N/A 錯誤值。
Arg2 必要 Variant Table_array - 兩個以上的資料欄。 使用範圍參照或範圍名稱。 table_array 中第一欄的值就是 lookup_value 所搜尋的值。 這些值可以是文字、數字或邏輯值。 不區分大小寫的文字。
Arg3 必要 Variant Col_index_num - 要傳回相符值的來源table_array 中的欄號。 col_index_num 為 1 會傳回 table_array 中第一欄的值,col_index_num 為 2 會傳回 table_array 中第二欄的值,依此類推。
Arg4 選用 Variant Range_lookup - 一個邏輯值,指定要 VLookup 方法尋找完全相符或大約相符。

傳回值

Variant

註解

VLookup 中的 V 代表垂直。 當您的比較值位於要尋找的資料左方的某一欄中時,使用 VLookup 方法來取代 HLookup 方法。

如果 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 的第一欄中的值。 如果 table_array 第一欄中有兩個以上的值與 lookup_value 相符,則會使用第一個找到的值。 如果找不到完全相符的值,則會產生錯誤。

在 table_array 的第一欄中搜尋文字值時,請確定 table_array 第一欄中的資料不包含前置空格、結尾空格、不成對的直 ('") ( 或) 引號,以及非列印字元。 在這些情況下, VLookup 方法可能會提供不正確或非預期的值。 如需如何清除或修剪值的詳細資訊,請參閱 CleanTrim 方法。

在搜尋數字或日期值時,請確認沒有將 table_array 第一欄中的資料儲存成文字值。 否則在這種情況下,VLookup 方法可能會提供不正確或非預期的值。

如果 range_lookup 為 False 且 lookup_value 為文字,則可以在 lookup_value 中使用萬用字元、問號 (?) 和星號 (*) 。 問號代表任一單一字元,而星號代表任何連續字元。 如果想要尋找實際的問號及星號,請在該字元前面輸入波狀符號 (~)。

支援和意見反應

有關於 Office VBA 或這份文件的問題或意見反應嗎? 如需取得支援服務並提供意見反應的相關指導,請參閱 Office VBA 支援與意見反應