LOOKUP 函數

本文將說明 Microsoft Office Excel 中 LOOKUP函數的公式語法及使用方式。

描述

LOOKUP 函數會從單列、單欄範圍或從陣列傳回一個值。LOOKUP 函數有兩種語法形式:向量形式與陣列形式。

如果您想要...

請參閱

用法

在單列或單欄範圍 (亦稱為向量) 中搜尋值,並從第二個單列或單欄範圍內的相同位置中傳回值

向量形式

當您有大量值的清單要查詢或當值在不同時間會產生變更時,請使用向量形式。

在陣列的第一列或第一欄中搜尋指定的值,然後從陣列最後一列或最後一欄的相同位置中傳回值

陣列形式

當您有少量值的清單而且在不同時間值都保持不變時,請使用陣列形式。

附註   

  • 在精細的檢定或超過函數巢狀限制的檢定中,您也可以使用 LOOKUP 函數替代 IF 函數。請參閱陣列形式中的範例。

  • 為了讓 LOOKUP 函數正確運作,必須以遞增順序排序要檢查的資料。如果無法這麼做,請考慮使用 VLOOKUPHLOOKUPMATCH 函數進行。

向量形式

向量是只有單列或單欄的範圍。向量形式的 LOOKUP 會在單列或單欄範圍 (亦稱為向量) 中搜尋值,並從第二個單列或單欄範圍內的相同位置中傳回值。若要指定包含要比對之值的範圍,請使用這種形式的 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 函數可能不會傳回正確的值。lookup_vector 的值不分大小寫。

  • result_vector    必要項。此引數僅包含一列或一欄的範圍。result_vector 引數的大小一定與 lookup_vector 相同。

備註

  • 如果 LOOKUP 函數找不到 lookup_value,就會比對 lookup_vector 中,小於或等於 lookup_value 的最大值。

  • 如果 lookup_value 小於 lookup_vector 中的最小值,LOOKUP 函數會傳回 #N/A 錯誤值。

範例

請將範例複製到空白的工作表,以便了解範例內容。

如何複製範例?

  1. 選取本篇文章中的範例。如果您要在 Excel Online 中複製範例,請一次複製並貼上一個儲存格。
    Important: 請勿選取列或欄標題。

    選取 [說明] 中的範例

    選取 [說明] 中的範例

  2. 按 CTRL+C。

  3. 建立空白的活頁簿或工作表。

  4. 選取工作表中的儲存格 A1,然後按下 CTRL+V。如果您使用 Excel Online,請重複複製及貼上範例中的每個儲存格。
    Important: 您必須將範例貼到工作表的儲存格 A1,範例才能正常運作。

  5. 若要在檢視結果與檢視傳回結果的公式之間切換,請按 CTRL+` (抑音符號),或在 [公式] 索引標籤的 [公式稽核] 群組中,按一下 [顯示公式] 按鈕。

當您將範例複製到空白工作表後,可以依照您的需求修改。

1

2

3

4

5

6

7



8




9




10




11

A

B

C

頻率

色彩

4.14

紅色

4.19

橙色

5.17

黃色

5.77

綠色

6.39

藍色

公式

描述

結果

=LOOKUP(4.19,A2:A6,B2:B6)

在欄 A 查詢 4.19,並從同一列的欄 B 傳回值。

橙色

=LOOKUP(5.00,A2:A6,B2:B6)

在欄 A 查詢 5.00,符合次小值 (4.19),並從同一列的欄 B 傳回值。

橙色

=LOOKUP(7.66,A2:A6,B2:B6)

在欄 A 查詢 7.66,符合次小值 (6.39),並從同一列的欄 B 傳回值。

藍色

=LOOKUP(0,A2:A6,B2:B6)

在欄 A 查詢 0,並傳回錯誤,因為 0 小於 lookup_vector A2:A7 中的最小值。

#N/A

頁首

陣列形式

陣列形式的 LOOKUP 會在陣列的第一列或第一欄中搜尋指定的值,然後從陣列最後一列或最後一欄的相同位置中傳回值。若要比對的值位於陣列第一列或第一欄,請使用這種形式的 LOOKUP 函數。若要指定欄或列的位置時,請使用其他形式的 LOOKUP

提示   一般而言,最好使用 HLOOKUPVLOOKUP 函數,而不要用陣列形式的 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 函數與 HLOOKUPVLOOKUP 函數非常類似;其差異是 HLOOKUP 會在第一列搜尋 lookup_value 的值,VLOOKUP 會搜尋第一欄,而 LOOKUP 會根據陣列的尺寸進行搜尋。

    • 如果陣列涵蓋的區域寬度大於高 (欄比列多),則 LOOKUP 函數會在第一列中搜尋 lookup_value 的值。

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

    • 如果是 HLOOKUPVLOOKUP 函數,您可以向下或橫向索引,但是 LOOKUP 總是選取欄或列的最後一個值。

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

範例 1

請將範例複製到空白的工作表,以便了解範例內容。

如何複製範例?

  1. 選取本篇文章中的範例。如果您要在 Excel Online 中複製範例,請一次複製並貼上一個儲存格。
    Important: 請勿選取列或欄標題。

    選取 [說明] 中的範例

    選取 [說明] 中的範例

  2. 按 CTRL+C。

  3. 建立空白的活頁簿或工作表。

  4. 選取工作表中的儲存格 A1,然後按下 CTRL+V。如果您使用 Excel Online,請重複複製及貼上範例中的每個儲存格。
    Important: 您必須將範例貼到工作表的儲存格 A1,範例才能正常運作。

  5. 若要在檢視結果與檢視傳回結果的公式之間切換,請按 CTRL+` (抑音符號),或在 [公式] 索引標籤的 [公式稽核] 群組中,按一下 [顯示公式] 按鈕。

當您將範例複製到空白工作表後,可以依照您的需求修改。

1





2





3

A

B

C

公式

描述

結果

=LOOKUP("C",{"a","b","c","d";1,2,3,4})

在陣列的第一列查詢 C,尋找小於或等於 c 的最大值,然後再傳回同一欄中,最後一列的值。

3

=LOOKUP("bump",{"a",1;"b",2;"c",3})

在陣列的第一列查詢 bump,尋找小於或等於 b 的最大值,然後再傳回同一列中,最後一欄的值。

2

範例 2

請將範例複製到空白的工作表,以便了解範例內容。

如何複製範例?

  1. 選取本篇文章中的範例。如果您要在 Excel Online 中複製範例,請一次複製並貼上一個儲存格。
    Important: 請勿選取列或欄標題。

    選取 [說明] 中的範例

    選取 [說明] 中的範例

  2. 按 CTRL+C。

  3. 建立空白的活頁簿或工作表。

  4. 選取工作表中的儲存格 A1,然後按下 CTRL+V。如果您使用 Excel Online,請重複複製及貼上範例中的每個儲存格。
    Important: 您必須將範例貼到工作表的儲存格 A1,範例才能正常運作。

  5. 若要在檢視結果與檢視傳回結果的公式之間切換,請按 CTRL+` (抑音符號),或在 [公式] 索引標籤的 [公式稽核] 群組中,按一下 [顯示公式] 按鈕。

當您將範例複製到空白工作表後,可以依照您的需求修改。

下列範例使用一個數字陣列來指定英文字母做為測驗成績評分。

1

2

3

4

5













6













7













8













9












10












11

A

B

C

成績

45

90

78

公式

描述

結果

=LOOKUP(A2,{0,60,70,80,90},{"F","D","C","B","A"})

在陣列的第一列查詢 A2 (45) 的值,尋找小於或等於 (0) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。

F

=LOOKUP(A3,{0,60,70,80,90},{"F","D","C","B","A"})

在陣列的第一列查詢 A3 (90) 的值,尋找小於或等於 (90) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。

A

=LOOKUP(A4,{0,60,70,80,90},{"F","D","C","B","A"})

在陣列的第一列查詢 A4 (78) 的值,尋找小於或等於 (70) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。

C

=LOOKUP(A2,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"})

在陣列的第一列查詢 A2 (45) 的值,尋找小於或等於 (0) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。

F

=LOOKUP(A3,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"})

在陣列的第一列查詢 A3 (90) 的值,尋找小於或等於 (90) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。

A-

=LOOKUP(A4,{0,60,63,67,70,73,77,80,83,87,90,93,97},{"F","D-","D","D+","C-","C","C+","B-","B","B+","A-","A","A+"})

在陣列的第一列查詢 A4 (78) 的值,尋找小於或等於 (77) 的最大值,然後傳回陣列中相同一欄中,最後一列的值。

C+

頁首

適用: Excel 2007



這項資訊有幫助嗎?

我們應該如何改進?

255 剩餘字元數

若要保護您的隱私,請不要在意見反應中包含連絡資訊。 檢閱我們的 隱私權原則

感謝您的意見反應!

支援資源

變更語言