前面分享了查找函數Vlookup和自定義查找函數VLOOKUPS,今天再分享一個超級強大的查找函數LOOKUP。
一、 函數解析LOOKUP函數的參數有二種形式,一是向量,二是數組
1、向量
LOOKUP(①查找值,②查找值所在區域,③返回的結果)
②為單行區域或單列區域,查找值所在區域必須先排序,否則出錯。
③可以省略
沒有精确匹配對象時,返回小于等于目标值的最大值
2、數組
LOOKUP(①查找值,②二維數組)
二、經典用法案例逆向查詢、單條件和多條件查詢通用公式:
=LOOKUP(1,0/(條件),目标區域或數組)
其中,條件可以是多個邏輯判斷相乘組成的多條件數組。
=LOOKUP(1,0/((條件1)*( 條件2)* ( 條件N)),目标區域或數組)
公式說明:
①((條件1)*( 條件2)* ( 條件N)),所有條件滿足返回TRUE,否則返回FALSE。
②以0/((條件1)*( 條件2)* ( 條件N))構建一個0、#DIV/0!組成的數組,避免了查找範圍必須升序列排序的弊端。(因為True在運算時當作1,False在運算時當作0,所以0/TRUE返回0,0/FALSE返回#DIV/0!)
2、多條件查詢:根據姓名和部門查詢辦公室在H2單元格輸入公式:=LOOKUP(1,0/(($B$2:$B$19=F2)*($C$2:$C$19=G2)),$D$2:$D$19)
在F2單元格輸入公式:=LOOKUP(1,0/($B$2:$B$19=E2),$C$2:$C$19)
在C1單元格輸入公式:=LOOKUP("々",A:A )或=LOOKUP("座",A:A )
"々"通常被看做是一個編碼較大的字符,它的輸入方法為<Alt 41385>組合鍵。第一參數寫成"々" 和“座”都可以返回一列或一行中的最後一個文本。
在C2單元格輸入公式:=LOOKUP(9E307,A:A)
9E307被認為是接近Excel規範與限制允許鍵入最大數值的數,用它做查詢值,可以返回一列或一行中的最後一個數值。
在C3單元格輸入公式:=LOOKUP(1,0/(A:A<>""),A:A)
(A:A<>"")是判斷不為空
A列是客戶的簡稱,要求根據D列的客戶全稱對照表,在B列寫出客戶的全稱。
在B2單元格輸入公式:=IFERROR(LOOKUP(1,0/FIND(A2,D:D),D:D,"")
公式說明:
①0/FIND(A2,D:D),用FIND函數查詢A2單元格“湖南永怡”在D列的起始位置,得到一個由錯誤值和數值組成的數組。
②使用IFERROR函數來屏蔽公式查詢不到對應結果時返回的錯誤值。
根據加油站的年銷售量,确定油站的等級。
在G2單元格輸入公式:
=LOOKUP(F2,{0;2000;4000;6000;8000;10000},$B$3:$B$8)
或者=LOOKUP(F2,$A$2:$B$8)
注:這種方法查找區域必須升序排序。
在B2單元格輸入公式:
=-LOOKUP(1,-LEFT(A2,ROW($1:$99)))
公式說明:
①-LEFT(A2,ROW($1:$99))用LEFT函數從A2單元格左起第一個字符開始,依次返回長度為ROW($1:$99)也就是1至99的字符串,添加負号後,數值轉換為負數,含有文本字符的字符串則變成錯誤值。
②LOOKUP函數使用1作為查詢值,在由負數、0和錯誤值構成的數組中,忽略錯誤值提取最後一個等于或小于1的數值。
③最後再使用負号,将提取出的負數轉為正數。
我是EXCEL學習微課堂,頭條教育視頻原創作者,如果我的分享對您有幫助,歡迎點贊、收藏、評論、轉發和贊賞!更多的EXCEL技能,可以關注今日頭條“EXCEL學習微課堂”。
“EXCEL學習微課堂”分享的相關教程:比Vlookup好用10倍的自定義函數VLOOKUPS,輕松解決VLOOKUP不能解決的問題!
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!