小夥伴們好啊,今天老祝和大家一起來學習一個大名鼎鼎的函數——LOOKUP。
這年頭,如果用Excel的人還不知道LOOKUP函數,那就像是法國人不知道拿破崙,美國人不知道華盛頓,朝鮮人不知道金正恩一樣。
LOOKUP函數應用廣泛,靈活性強,可以說是「後宮佳麗三千人,三千寵愛在一身」,今天咱們就來說說LOOKUP函數的一些主要用法。
下面這個表中,A:C列是員工基礎信息表,分別是部門、姓名和職務。
現在要根據E5單元格中的員工姓名,在這個信息表中查詢屬於哪個部門,也就是咱們常說的逆向查詢,就可以使用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!組成的數組,再用1作為查找值,即可查找最後一個滿足非空單元格條件的記錄。
這個題目也非LOOKUP函數莫屬,用到的公式是:
=LOOKUP("々",A:A )
"々"通常被看做是一個編碼較大的字符,它的輸入方法為<Alt+41385>組合鍵。
如果感覺每次寫這個符號有點費事兒,也可以寫成:
=LOOKUP("座",A:A )
一般情況下,第一參數寫成「座」也可以返回一列或一行中的最後一個文本。
用到的公式是:
=LOOKUP(9E307,A:A)
9E307被認為是接近Excel規範與限制允許鍵入最大數值的數,用它做查詢值,可以返回一列或一行中的最後一個數值。
有朋友會說了,如果我A列中的數據既有文本也有數值,想得到最後一個單元格內容,那咋辦?咱們可以寫成這樣:
=LOOKUP(1,0/(A:A<>""),A:A)
這個問題相信大家都會經常遇到吧?
如下面這個圖中所示,A列是客戶的簡稱,要求根據E列的客戶全稱對照表,在C列寫出客戶的全稱。
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函數來屏蔽公式查詢不到對應結果時返回的錯誤值。
話說某公司組織員工技能考核,根據不同的分值,給出相應的評語。
50分以下的為「很差」
50-59分的為「差」
60-74分的為「一般」
75-85分的為「較好」
86-95分的為「優秀」
96分及以上的為「能手」。
這種多個區間的判斷,如果需要判斷的條件和區間都很多,再使用IF函數來計算,估計會把自己都轉暈了。
而使用LOOKUP函數來解決,不過是小菜一碟而已。
C2單元格輸入以下公式,向下複製即可。
=LOOKUP(B2,{0,50,60,75,86,96;"很差","差","一般","較好","優秀","能手"})
除了這些基礎應用,LOOKUP函數還有很多精彩的用法,這些內容咱們留到以後慢慢再說。只要基礎知識熟悉了,即使練不成降龍十八掌,那起碼也是降龍十巴掌了,你說是吧?
圖文製作:祝洪忠
精彩視頻教程推薦:
玩轉自定義函數(24日20:00直播)達人哥帶你玩轉Word自動編號(限時免費)一小時快速入門,VBA其實很簡單(限時免費)SUBTOTAL函數的前世今生(限時免費)點擊【閱讀原文】直達ExcelHome雲課堂