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 Web App 中的範例,請一次複製及貼上一個儲存格。

 重要事項   請勿選取列標題或欄標題。

從說明中選取範例

從說明中選取範例
  1. 按 CTRL+C 鍵。
  2. 建立空白活頁簿或工作表。
  3. 在工作表中,選取儲存格 A1,然後按 CTRL + V 鍵。如果您使用 Excel Web App,重複複製及貼上範例中的每個儲存格。

 重要事項   您必須將範例貼上到工作表的儲存格 A1,範例才能正常運作。

  1. 若要切換檢視結果和檢視傳回結果的公式,按 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 Web App 中的範例,請一次複製及貼上一個儲存格。

 重要事項   請勿選取列標題或欄標題。

從說明中選取範例

從說明中選取範例
  1. 按 CTRL+C 鍵。
  2. 建立空白活頁簿或工作表。
  3. 在工作表中,選取儲存格 A1,然後按 CTRL + V 鍵。如果您使用 Excel Web App,重複複製及貼上範例中的每個儲存格。

 重要事項   您必須將範例貼上到工作表的儲存格 A1,範例才能正常運作。

  1. 若要切換檢視結果和檢視傳回結果的公式,按 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 Web App 中的範例,請一次複製及貼上一個儲存格。

 重要事項   請勿選取列標題或欄標題。

從說明中選取範例

從說明中選取範例
  1. 按 CTRL+C 鍵。
  2. 建立空白活頁簿或工作表。
  3. 在工作表中,選取儲存格 A1,然後按 CTRL + V 鍵。如果您使用 Excel Web App,重複複製及貼上範例中的每個儲存格。

 重要事項   您必須將範例貼上到工作表的儲存格 A1,範例才能正常運作。

  1. 若要切換檢視結果和檢視傳回結果的公式,按 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