如果您需要查詢單列或單欄,並在第二列或第二欄的同一個位置尋找一值時,請使用 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
頻率
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 可能不會傳回正確的值。 文字不區分大小寫。
-