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 支援與意見反應