Excel中學會LOOKUP函數那些事兒
今天咱們來說說關於lookup函數的一些主要用法。
1、逆向查詢
下面這個表中,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!組成的陣列,再用永遠大於第2個參數中所有數值的1作為查找值,即可查找最後一個滿足非空儲存格條件的記錄。
2、返回最後一個文本
要查詢A列中的最後一個文本,也非LOOKUP函數莫屬,用到的公式是:
=LOOKUP("々",A:A )
"々"通常被看做是一個編碼較大的字元,它的輸入方法為複合鍵。
如果感覺每次寫這個符號有點費事兒,也可以寫成:
=LOOKUP("座",A:A )
一般情況下,第一參數寫成“座”也可以返回一列或一行中的最後一個文本。
3、返回最後一個數值
要查詢A列中的最後一個數值,用到的公式是:
=LOOKUP(9E307,A:A )
9E307被認為是接近Excel規範與限制允許鍵入最大數值的數,用它做查詢值,可以返回一列或一行中的最後一個數值。
有朋友會說了,如果我A列中的資料既有文本也有數值,想得到最後一個儲存格內容,那咋辦?當然不能涼拌!哈哈^_^ ,寫成這樣就可以的:
=LOOKUP(1,0/(A:A<>""),A:A)
注意,上面這個公式中整列引用的寫法在03版本中不適用,
4、根據簡稱返回全稱
根據簡稱查詢全稱的問題相信大家都會經常遇到吧?
如下面這個圖中所示,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函數來遮罩公式查詢不到對應結果時返回的錯誤值。
5、多個區間的條件判斷
話說某公司組織員工技能考核,根據不同的分值,給出相應的評語。
50分以下的為“很差”,50-59分的為“差”,60-74分的為“一般”,75-85分的為“較好”,86-95分的為“優秀”,96分及以上的為“能手”。
這種多個區間的判斷,如果需要判斷的條件和區間都很多,再使用IF函數來計算,估計會把自己都轉暈了。
而使用LOOKUP函數來解決,不過是小菜一碟而已。
C2儲存格輸入以下公式,向下複製即可。
=LOOKUP(B2,{0,50,60,75,86,96;"很差","差","一般","較好","優秀","能手"})
除此之外,LOOKUP函數還被用於帶有合併儲存格的匯總計算,以及儲存格中數值欄位的提取等等,這些內容咱們留到以後慢慢再說。
向下複製即可。=LOOKUP(B2,{0,50,60,75,86,96;"很差","差","一般","較好","優秀","能手"})
除此之外,LOOKUP函數還被用於帶有合併儲存格的匯總計算,以及儲存格中數值欄位的提取等等,這些內容咱們留到以後慢慢再說。