這個函數(shù)有兩個特點:
第一個特點,要求查詢區(qū)域必須升序進行排序。如果沒有經過排序,LOOKUP函數(shù)也會認為排在數(shù)據(jù)區(qū)域最后的內容,是該區(qū)域中最大的。
第二個特點,當查找不到具體的查詢值時,會以比查詢值小、并且最接近查詢值的內容進行匹配。
另外,還能識別查詢值是文本格式還是數(shù)值格式,再以相同類別的內容進行匹配。
1、查詢A列中的最后一個文本
模式化公式為:
=LOOKUP('々',A:A )
'々'通常被看做是一個編碼較大的字符,它的輸入方法為<Alt+41385>組合鍵。
如果感覺每次寫這個符號有點費事兒,也可以寫成:
=LOOKUP('座',A:A )
一般情況下,第一參數(shù)寫成“座”也可以返回一列或一行中的最后一個文本。
下圖中,B列的部門是一些合并單元格,在C列使用LOOKUP就能填充完整。
=LOOKUP('座',B$2:B2)
第2參數(shù)使用了動態(tài)擴展的技巧,僅鎖定起始單元格的地址,當公式下拉時,LOOKUP函數(shù)的查詢區(qū)域不斷擴大。
公式相當于是從B2開始,到公式所在行這個區(qū)域內,查找最后一個文本。
2、查詢A列中的最后一個數(shù)值
模式化公式為:
=LOOKUP(9E307,A:A)
9E307被認為是接近Excel規(guī)范與限制允許鍵入最大數(shù)值的數(shù),用它做查詢值,可以返回一列或一行中的最后一個數(shù)值。
如果A列中的數(shù)據(jù)既有文本也有數(shù)值,想得到最后一個單元格內容,咱們可以寫成這樣:
=LOOKUP(1,0/(A:A<>''),A:A)
3、逆向查詢
下面這個表中,A:C列是員工基礎信息表,分別是部門、姓名和職務。
現(xiàn)在要根據(jù)E5單元格中的員工姓名,在這個信息表中查詢屬于哪個部門,也就是咱們常說的逆向查詢,就可以使用LOOKUP函數(shù)了。
F5單元格輸入以下公式:
=LOOKUP(1,0/(B2:B10=E5),A2:A10)
得出的結果是“銷售部”。
上面這個公式就是LOOKUP函數(shù)最典型用法。可以歸納為:
=LOOKUP(1,0/(條件區(qū)域=指定條件),目標區(qū)域或數(shù)組)
公式中的0/(條件區(qū)域=指定條件)部分,先使用等式對比條件是否符合,如果符合就返回邏輯值TRUE,否則返回FALSE。最終得到一個內存數(shù)組結果。
再使用0除以這個內存數(shù)組,0除以TRUE結果是0,0除以FALSE結果是錯誤值。
接下來使用1作為查詢值,在內存數(shù)組中進行查找,由于找不到1,就用最后一個0進行匹配,并返回第三參數(shù)中同一位置的元素。
如果是多個條件,模式化的寫法為:
=LOOKUP(1,0/(條件1)/(條件2)/(條件N),目標區(qū)域或數(shù)組)
4、查詢產品類別
如下面這個圖中所示,A列是產品名稱,D列是類型對照表。
如果產品名稱中包含對照表中的關鍵字,就顯示出該內容。
B2單元格輸入以下公式,向下復制。
=LOOKUP(1,-FIND(D$2:D$7,A2),D$2:D$7)
簡單說說公式各部分的含義:
“FIND(D$2:D$7,A2)”部分:
首先用FIND函數(shù),以D$2:D$7單元格中的類別關鍵字作為查詢,在A2單元格中分別查詢這些字符出現(xiàn)的位置,得到一個由錯誤值和數(shù)值組成的內存數(shù)組。
加上負號后,內存數(shù)組中的數(shù)值變成負數(shù),錯誤值部分的結果不變。
接下來使用1作為查詢值,在內存數(shù)組中進行查找,由于找不到具體的查找值,同時LOOKUP認為數(shù)組中最后一個數(shù)值一定是所有數(shù)值中最大的,因此以最后一個負數(shù)與之匹配,并返回第三參數(shù)中同一位置的元素。
關于LOOKUP函數(shù)的更多用法,歡迎小伙伴們在留言區(qū)分享。
好了今天咱們的分享就是這些吧,祝各位一天好心情~~
圖文制作:祝洪忠
聯(lián)系客服