LOOKUP 函數

套用到
Microsoft 365 Excel Mac 版 Microsoft 365 Excel Excel 2024 Mac 版 Excel 2024 Excel 2021 Mac 版 Excel 2021 Excel 2019 Excel 2016

當你需要在單一列或欄位中尋找同一位置的值時,可以使用 LOOKUP,這是查找與 參考函式之一,且在第二列或欄位中尋找相同位置的值。

例如,您知道自動組件的組件編號,但您不知道價格。 當您在儲存格 H1 中輸入自動組件編號時,可以使用 LOOKUP 函數傳回在儲存格 H2 中的價格。

說明可如何使用 LOOKUP 函數的範例

使用 LOOKUP 函數來搜尋一列或一欄。 上述範例中,我們會搜尋位於欄 D 內的價格。

秘訣

根據你使用的版本,可以考慮較新的查詢功能。

使用 LOOKUP 的方式有兩種:向量形式與陣列形式

  • 向量形式:使用這個形式的 LOOKUP 函數來搜尋一列或一欄中的值。 若要指定包含您想要比對之值的範圍,請使用向量形式。 例如,如果您要搜尋欄 A 到列 6 中的值。
    向量範例
  • 陣列形式:我們強烈建議使用 VLOOKUPHLOOKUP 取代陣列形式。 觀看這支關於使用 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 函數的運作方式。 在第一個範例中,最後完成的試算表會看似如下:

使用 LOOKUP 函數的範例

  1. 請複製下列表格中的資料,並將其貼到新的 Excel 工作表。

    複製此資料到欄 A 複製此資料到欄 B
    頻率 色彩
    4.14 紅色
    4.19 橙色
    5.17 黃色
    5.77 綠色
    6.39 藍色
  2. 接下來,從下表中複製 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
  3. 若要讓這些公式顯示結果,您可能需要在 Excel 工作表中加以選取,按下 F2 鍵,然後按下 Enter。 如有需要,請調整欄寬來查看所有資料。

陣列形式

秘訣

我們強烈建議使用 VLOOKUPHLOOKUP 取代陣列表單。 可以參考這支關於 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 比較之文字、數字或邏輯值的儲存格範圍。
    陣列形式的 LOOKUPHLOOKUPVLOOKUP 函數非常類似。 差別在於 HLOOKUP 在第一列搜尋 lookup_value 值, VLOOKUP 在第一欄搜尋, LOOKUP 則依陣列維度搜尋。

    • 如果陣列覆蓋的區域寬度大於高度 (列數多於) 列數, LOOKUP 會搜尋第一列的 lookup_value 值。

    • 如果陣列是正方形,或是高度大於寬度 (列數比欄數多),則 LOOKUP 函數會在第一欄中搜尋。

    • 若使用 HLOOKUPVLOOKUP 函數,您可以向下或橫向索引,但是 LOOKUP 會一律選取列或欄中的最後一個值。

      重要

      陣列中的值必須以遞增順序排列:..., -2, -1, 0, 1, 2, ...、A-Z、FALSE、TRUE,否則,LOOKUP 可能不會傳回正確的值。 文字不區分大小寫。