一、函數(shù)解析
lookup函數(shù)的參數(shù)有二種形式,一是向量,二是數(shù)組
1、向量,也就是有方向的。
LOOKUP(①查找值,②查找值所在區(qū)域,③返回的結果)
②為單行區(qū)域或單列區(qū)域,查找值所在區(qū)域必須先排序,否則出錯。
③可以省略
沒有精確匹配對象時,返回小于等于目標值的最大值
2、數(shù)組
LOOKUP(①查找值,②二維數(shù)組)
二、經(jīng)典用法案例
逆向查詢、單條件和多條件查詢通用公式:
=LOOKUP(1,0/(條件),目標區(qū)域或數(shù)組)
其中,條件可以是多個邏輯判斷相乘組成的多條件數(shù)組。
=LOOKUP(1,0/((條件1)( 條件2) ( 條件N)),目標區(qū)域或數(shù)組)
公式說明:
①((條件1)( 條件2) ( 條件N)),所有條件滿足返回TRUE,否則返回FALSE。
②以0/((條件1)( 條件2) ( 條件N))構建一個0、#DIV/0!組成的數(shù)組,避免了查找范圍必須升序列排序的弊端。(因為True在運算時當作1,F(xiàn)alse在運算時當作0,所以0/TRUE返回0,0/FALSE返回#DIV/0!)
③再用1作為查找值,即可查找最后一個滿足非空單元格條件的記錄。
這里很多人都不太理解其中的1,0代表著什么,這里我在網(wǎng)上找到一些人的解釋。

1、單條件逆向查詢:根據(jù)姓名查詢工號
在G2單元格輸入公式:=LOOKUP(1,0/(2:
19=F2),
2:
19)

2、多條件查詢:根據(jù)姓名和部門查詢辦公室
在H2單元格輸入公式:=LOOKUP(1,0/((2:
19=F2)*(
2:
19=G2)),
2:
19)

3、查詢最后一次出現(xiàn)的數(shù)據(jù)
在F2單元格輸入公式:=LOOKUP(1,0/(2:
19=E2),
2:
19)

4、查詢A列中的最后一個文本
在C1單元格輸入公式:=LOOKUP("々",A:A )或=LOOKUP("座",A:A )
"々"通常被看做是一個編碼較大的字符,它的輸入方法為組合鍵。第一參數(shù)寫成"々" 和“座”都可以返回一列或一行中的最后一個文本。+41385> +41385>

5、查詢A列中的最后一個數(shù)值
在C2單元格輸入公式:=LOOKUP(9E307,A:A)
9E307被認為是接近Excel規(guī)范與限制允許鍵入最大數(shù)值的數(shù),用它做查詢值,可以返回一列或一行中的最后一個數(shù)值。

6、查詢A列中的最后一個單元格內(nèi)容
在C3單元格輸入公式:=LOOKUP(1,0/(A:A<>""),A:A)
(A:A<>"")是判斷不為空

7、根據(jù)簡稱查詢?nèi)Q
A列是客戶的簡稱,要求根據(jù)D列的客戶全稱對照表,在B列寫出客戶的全稱。
在B2單元格輸入公式:=IFERROR(LOOKUP(1,0/FIND(A2,D:D),D:D,"")
公式說明:
①0/FIND(A2,D:D),用FIND函數(shù)查詢A2單元格“湖南永怡”在D列的起始位置,得到一個由錯誤值和數(shù)值組成的數(shù)組。
②使用IFERROR函數(shù)來屏蔽公式查詢不到對應結果時返回的錯誤值。

8、多個區(qū)間的條件判斷
根據(jù)加油站的年銷售量,確定油站的等級。
在G2單元格輸入公式:
=LOOKUP(F2,{0;2000;4000;6000;8000;10000},3:
8)
或者=LOOKUP(F2,2:
8)
這種方法查找區(qū)域必須升序排序。

9、提取單元格內(nèi)的數(shù)字
在B2單元格輸入公式:
=-LOOKUP(1,-LEFT(A2,ROW(245)))
公式說明:
①-LEFT(A2,ROW(99))用LEFT函數(shù)從A2單元格左起第一個字符開始,依次返回長度為ROW(
99)也就是1至99的字符串,添加負號后,數(shù)值轉(zhuǎn)換為負數(shù),含有文本字符的字符串則變成錯誤值。
②LOOKUP函數(shù)使用1作為查詢值,在由負數(shù)、0和錯誤值構成的數(shù)組中,忽略錯誤值提取最后一個等于或小于1的數(shù)值。
③最后再使用負號,將提取出的負數(shù)轉(zhuǎn)為正數(shù)。

待續(xù)。。。。