Excel函數學習7:LOOKUP函數
LOOKUP函數從一行或一列單元格區域或者從數組中返回值。
什麼情況下使用LOOKUP函數?
LOOKUP函數能夠基於查找值返回結果,例如:
找到列中的最後一個數字
查找含有負數的最後一個月
將學生的百分數成績轉換成字母成績
LOOKUP函數的語法
LOOKUP函數有兩種語法形式——矢量和數組。使用矢量形式,在指定的列或行中查找值;使用數組形式,在數組的第一行或列中查找。
矢量形式的語法如下:
LOOKUP(lookup_value,lookup_vector,result_vector)
§lookup_value可以是文本、數字、邏輯值、名稱或引用
§lookup_vector是僅有一行或一列的單元格區域
§result_vector是僅有一行或一列的單元格區域
§lookup_vector和result_vector必須大小相同
數組形式的語法如下:
LOOKUP(lookup_value,array)
§lookup_value可以是文本、數字、邏輯值、名稱或引用
§基於數組維度搜索:
§如果列比行多,那麼搜索第一行
§如果行列數相等,或者行比列多,那麼搜索第一列
§從最後的行或列的相同位置返回值
LOOKUP函數陷阱
§LOOKUP函數沒有像VLOOKUP和HVLOOKUP函數中的精確匹配選項。如果沒有找到查找值,那麼匹配小於查找值的最大值。
§供查找的數組或矢量必須按升序排序,否則結果可能不正確。
§如果供查找的數組或矢量中的第一個值大於查找值,那麼結果顯示#N/A錯誤。
示例1: 查找列中最後一個數字
在數組形式中,可以使用LOOKUP函數查找列中最後一個數字。
Excel幫助中規範列出9.99999999999999E 307為允許輸入到單元格中的最大的數字。在本例的公式中,該數字作為查找值輸入。假設沒有找到大的數字,返回列D中最後一個數。
本例中,列D中的數字沒有被排序,並且包含文本條目。
=LOOKUP(9.99999999999999E 307,D:D)
示例2:查找含有負數的最後一個月
本例以矢量形式使用LOOKUP函數,在列D中是銷售量,在列E中是月名。有幾個月銷售量不順利,在銷量列中是負值。
為了找到含有負銷量的最後一個月,LOOKUP公式測試每個銷售量是否小於0。接著,將結果除1,返回1或者#DIV/0!錯誤。
沒有找到查找值2,因此使用最後一個數字1,返回列E中相應位置的月名。
=LOOKUP(2,1/(D2:D8<0),E2:E8)
示例3: 將學生百分數成績轉換成字母成績
正如在VLOOKUP公式中做的一樣,能夠以矢量形式使用LOOKUP函數來為學生的百分數成績找到相應的字母成績。使用LOOKUP函數,無須在查找表的第一列放置百分數,可以指定任意列放置百分數。
本例中,列D以升序排序放置分數,列C是字母成績,位於查找列最左側。
=LOOKUP(C10,D4:D8,C4:C8)
--------------------------------------
推薦閱讀:
※Excel函數查找之王——lookup函數之進階應用
※Excel函數的參數
※Excel函數學習37:SMALL函數
※Excel函數公式:不一樣的函數學習方法,一看就懂
※記住這些常用符號,Excel函數和公式更簡單