共用方式為


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