眾裡尋他千百度之LOOKUP函數

這年頭,如果用Excel的人還不知道LOOKUP函數,那就像是法國人不知道拿破崙,美國人不知道華盛頓,伊拉克人不知道薩達姆-侯賽因一樣。LOOKUP函數應用廣泛,靈活性強,可以說是“後宮粉黛三千人,三千寵愛在一身”,今天咱們就來說說這個函數的一些主要用法。



一、逆向查詢。下面這個表中,A:C列是員工基礎信息表,要在這個信息表中查詢E51單元格中員工的部門,也就是咱們常說的逆向查詢,就可以使用LOOKUP函數了。

眾裡尋他千百度之LOOKUP函數


F5單元格輸入以下公式:
=LOOKUP(1,0/(B2:B10=E5),A2:A10)
得出的結果是“生產部”。
上面這個公式就是LOOKUP函數最典型用法。可以歸納為:
=LOOKUP(1,0/(條件),目標區域或數組)
其中,條件可以是多個邏輯判斷相乘組成的多條件數組。
=LOOKUP(1,0/((條件1)*( 條件2)* ( 條件N)),目標區域或數組)
以0/(B2:B10=E5)構建一個0、#DIV/0!組成的數組,再用永遠大於第2個參數中所有數值的1作為查找值,即可查找最後一個滿足非空單元格條件的記錄。

二、要查詢A列中的最後一個文本,也非LOOKUP函數莫屬,用到的公式是:
=LOOKUP("々",A:A )
"々"通常被看做是一個編碼較大的字符,它的輸入方法為組合鍵。如果感覺每次寫這個符號有點費事兒,也可以寫成:
=LOOKUP("座",A:A )
一般情況下,第一參數寫成“座”也可以返回一列或一行中的最後一個文本。

三、要查詢A列中的最後一個數值,用到的公式是:
=LOOKUP(9E307,A:A )
9E307被認為是接近Excel規範與限制允許鍵入最大數值的數,用它做查詢值,可以返回一列或一行中的最後一個數值。


有朋友會說了,如果我A列中的數據既有文本也有數值,想得到最後一個單元格內容,那咋辦?當然不能涼拌!哈哈^_^ ,寫成這樣就可以的:
=LOOKUP(1,0/(A:A<>""),A:A )
注意,上面這個公式中整列引用的寫法在03版本中不適用,可以寫成實際的單元格區域引用。

四、 根據簡稱查詢全稱的問題相信大家都會經常遇到吧?如下面這個圖中所示,A列是客戶的簡稱,要求根據E列的客戶全稱對照表,在C列寫出客戶的全稱。

眾裡尋他千百度之LOOKUP函數


C2單元格輸入以下公式,可得到 “上海沛發”的客戶全稱“上海沛發包裝材料有限公司”。
=IFERROR(LOOKUP(1,0/FIND(A2,E$2:E$13),E$2:E$13),"")
公式中“0/FIND(A2,E$2:E$13)”部分,首先用FIND函數查詢A2單元格“上海沛發”在E$2:E$13的起始位置,得到一個由錯誤值和數值組成的數組。
餘下部分的計算過程就和咱們前面說過的一樣了,使用IFERROR函數來屏蔽公式查詢不到對應結果時返回的錯誤值。
除此之外,LOOKUP函數還被用於帶有合併單元格的彙總計算,以及單元格中數值字段的提取等等,這些內容咱們留到以後慢慢再說。先把今天這些記住了、熟悉了,即使練不成降龍十八掌,那起碼也是降龍十巴掌了。

細分: LOOKUP

轉載請註明來源"ExcelHome"


分享到:


相關文章: