當您需要查看單一列或欄,並從第二列或欄中相同位置尋找值時,請使用 LOOKUP 是查閱與參照函數的其中之一。
例如,您知道自動組件的組件編號,但您不知道價格。 當您在儲存格 H1 中輸入自動組件編號時,可以使用 LOOKUP 函數傳回在儲存格 H2 中的價格。
使用 LOOKUP 函數來搜尋一列或一欄。 上述範例中,我們會搜尋位於欄 D 內的價格。
秘訣
請考慮其中一個較新的查閱函式,具體取決於您使用的版本。
- 使用 VLOOKUP 搜尋單列或單欄,或搜尋多個列和欄, (例如表格) 。 這是大幅改善的 LOOKUP 版本。 觀看這段有關如何使用 VLOOKUP 的影片。
- 如果您使用的是 Microsoft 365,請使用 XLOOKUP ,它不僅速度更快,還可讓您向上、下、左、右) 任何方向 (進行搜尋。
使用 LOOKUP 的方式有兩種:向量形式與陣列形式
-
向量形式:使用這個形式的 LOOKUP 函數來搜尋一列或一欄中的值。 若要指定包含您想要比對之值的範圍,請使用向量形式。 例如,如果您要搜尋欄 A 到列 6 中的值。
-
陣列形式:強烈建議您使用 VLOOKUP 或 HLOOKUP ,而非陣列形式。
觀看這段有關使用 VLOOKUP 的影片。 陣列形式可與其他試算表程式相容,但功能有限。
陣列是您想要搜尋的一組列和欄 (例如表格) 中的值。 舉例來說,如果您想要搜尋欄 A 與欄 B 到列 6。 LOOKUP 會傳回最接近的相符項目。 若要使用陣列形式,您的資料必須加以排序。
向量形式
向量形式的 LOOKUP 會在單列或單欄範圍 (亦稱為向量) 中尋找值,並傳回第二個單列或單欄範圍內相同位置的值。
語法
LOOKUP(lookup_value, lookup_vector, [result_vector])
LOOKUP 函數的向量形式語法具有下列引數:
lookup_value 必填項目。 這是 LOOKUP 在第一個向量中要尋找的值。 Lookup_value 可以是數字、文字、邏輯值,或是參照值的名稱或參照。
lookup_vector 必填項目。 僅包含一列或一欄的範圍。 lookup_vector中的值可以是文字、數字或邏輯值。
重要
lookup_vector中的值必須以遞增順序排列:...、-2、-1、0、1、2、...、A-Z、FALSE、TRUE;否則,LOOKUP 可能不會傳回正確的值。 文字不區分大小寫。
result_vector 選用。 僅含一列或一欄的範圍。 result_vector引數必須與 lookup_vector 的大小相同。 其大小必須一樣。
備註
- 如果 LOOKUP 函數找不到 lookup_value,函數會比對 lookup_vector 中小於或等於 lookup_value 的最大值。
- 如果 lookup_value 小於 lookup_vector 中的最小值, LOOKUP 會傳回 #N/A 錯誤值。
向量範例
您可以試著在自己的 Excel 工作表中進行這些範例,以了解 LOOKUP 函數的運作方式。 在第一個範例中,最後完成的試算表會看似如下:
請複製下列表格中的資料,並將其貼到新的 Excel 工作表。
複製此資料到欄 A 複製此資料到欄 B Frequency 色彩 4.14 紅色 4.19 橙色 5.17 黃色 5.77 綠色 6.39 藍色 接下來,從下表中複製 LOOKUP 公式到您工作表中的欄 D。
將這個公式複製到欄 D 中 以下為這個公式的功能 以下是您會看到的結果 =LOOKUP(4.19, A2:A6, B2:B6) 在欄 A 中查詢 4.19,並從同一列的欄 B 傳回值。 橙色 =LOOKUP(5.75, A2:A6, B2:B6) 在欄 A 中查詢 5.75,符合最接近的次小值 (5.17),並從同一列的欄 B 傳回值。 黃色 =LOOKUP(7.66, A2:A6, B2:B6) 在欄 A 中查詢 7.66,符合最接近的次小值 (6.39),並從同一列的欄 B 傳回值。 藍色 =LOOKUP(0, A2:A6, B2:B6) 在欄 A 中查詢 0,並傳回錯誤,因為 0 小於欄 A 中的最小值 (4.14)。 #N/A 若要讓這些公式顯示結果,您可能需要在 Excel 工作表中加以選取,按下 F2 鍵,然後按下 Enter。 如有需要,請調整欄寬來查看所有資料。
陣列形式
秘訣
強烈建議您使用 VLOOKUP 或 HLOOKUP ,而非陣列形式。 請觀看這段有關 VLOOKUP 的影片;其中提供範例。 提供 LOOKUP 的陣列形式以與其他試算表程式相容,但其功能有限。
LOOKUP 的陣列形式會在陣列的第一列或第一欄中尋找指定的值,並從陣列最後一列或最後一欄的相同位置傳回值。 如果要比對的值位於陣列第一列或第一欄,請使用這種形式的 LOOKUP 函數。
語法
LOOKUP(lookup_value, array)
LOOKUP 函數的陣列形式語法具有下列引數:
lookup_value 必填項目。 LOOKUP 函數在陣列中要尋找的值。 lookup_value引數可以是數字、文字、邏輯值,或是參照值的名稱或參照。
- 如果 LOOKUP 找不到 lookup_value 的值,則會使用陣列中小於或等於 lookup_value 的最大值。
- 如果 lookup_value 的值小於第一列或第一欄的最小值 (視陣列維度) 而定, LOOKUP 會傳回 #N/A 錯誤值。
陣列 必填項目。 包含要與 lookup_value 比較之文字、數字或邏輯值的儲存格範圍。
陣列形式的 LOOKUP 與 HLOOKUP 和 VLOOKUP 函數非常類似。 不同的是, HLOOKUP 在第一列中搜尋 lookup_value 的值, VLOOKUP 在第一欄中搜尋,而 LOOKUP 則根據陣列的維度進行搜尋。如果陣列所涵蓋的區域寬度大於高度, (欄數) 多於列數,則 LOOKUP 會在第一列中尋找 lookup_value 的值。
如果陣列是正方形,或是高度大於寬度 (列數比欄數多),則 LOOKUP 函數會在第一欄中搜尋。
若使用 HLOOKUP 和 VLOOKUP 函數,您可以向下或橫向索引,但是 LOOKUP 會一律選取列或欄中的最後一個值。
重要
陣列中的值必須以遞增順序排列:..., -2, -1, 0, 1, 2, ...、A-Z、FALSE、TRUE,否則,LOOKUP 可能不會傳回正確的值。 文字不區分大小寫。