|
說起查找引用類函數(shù),很多小伙伴們會先想到大眾情人VLOOKUP函數(shù),但在實際應(yīng)用中,很多時候VLOOKUP卻是力不從心:比如說從指定位置查找、多條件查找、逆向查找等等。 這些VLOOKUP函數(shù)實現(xiàn)起來頗有難度的功能,有一個函數(shù)卻可以輕易實現(xiàn),這就是今天咱們要說的女一號——LOOKUP。 這個函數(shù)主要用于在查找范圍中查詢指定的查找值,并返回另一個范圍中對應(yīng)位置的值。該函數(shù)支持忽略空值、邏輯值和錯誤值來進行數(shù)據(jù)查詢,幾乎可以完成VLOOKUP函數(shù)和HLOOKUP函數(shù)的所有查找任務(wù),接下來咱們就一起看看LOOKUP函數(shù)的常用套路。 一、返回B列最后一個文本: =LOOKUP("々",B:B) 或是=LOOKUP("做",B:B) 二、返回B列最后一個數(shù)值: =LOOKUP(9E+307,B:B) 三、填充合并單元格 如下圖所示,B列姓名使用了合并單元格,使用以下公式可以得到完整的填充: =LOOKUP("做",B$2:B2) 四、返回A列最后一個非空單元格內(nèi)容 =LOOKUP(1,0/(A:A<>""),A:A) 簡單說說公式的計算過程: 先使用A:A<>""判斷A列是否不等于空單元格,得到一組有邏輯值TRUE和FALSE構(gòu)成的內(nèi)存數(shù)組。 然后用0除以這些邏輯值,在四則運算中,邏輯值TRUE相當(dāng)于1,F(xiàn)ALSE相當(dāng)于0,相除之后,得到由錯誤值和0構(gòu)成的新內(nèi)存數(shù)組。其中的0,就是0/TRUE的結(jié)果,表示符合條件。 最后用1作為查找值,在這個內(nèi)存數(shù)組中找到0的位置,并返回第三參數(shù)中對應(yīng)位置的內(nèi)容。 如果有多個符合條件的記錄,LOOKUP默認(rèn)以最后一個進行匹配。 五、逆向查詢 如下圖,要根據(jù)E3單元格的商品名稱,查詢對應(yīng)的銷售經(jīng)理。公式為: =LOOKUP(1,0/(C2:C10=E3),A2:A10) 單條件查詢的模式化寫法為: =LOOKUP(1,0/(條件區(qū)域=條件),查詢區(qū)域) 六、多條件查詢 如下圖,要根據(jù)F3單元格的商品名稱和G3單元格的部門,查詢對應(yīng)的銷售經(jīng)理。公式為: =LOOKUP(1,0/((D2:D10=F3)*(B2:B10=G3)),A2:A10) 多條件查詢的模式化寫法為: =LOOKUP(1,0/((條件區(qū)域1=條件1)*(條件區(qū)域2=條件2)),查詢區(qū)域) 七、模糊查詢等級 如下圖,要根據(jù)B列銷售業(yè)績返回對應(yīng)的評定標(biāo)準(zhǔn),E~F列為標(biāo)準(zhǔn)對照表。 C2單元格公式為: =LOOKUP(B2,$E$3:$F$6) 這種方法可以取代IF函數(shù)完成多個區(qū)間的判斷查詢,前提是對照表的首列必須是升序處理。 八、提取有規(guī)律的數(shù)字 如下圖,要提取出B列混合內(nèi)容中的數(shù)值。 公式為: =-LOOKUP(1,-RIGHT(B2,ROW($1:$9))) 本例中,數(shù)值都位于右側(cè),因此先用RIGHT函數(shù)從B2單元格右起第一個字符開始,依次提取長度為1至99的字符串。 添加負(fù)號后,數(shù)值轉(zhuǎn)換為負(fù)數(shù),含有文本字符的字符串則變成錯誤值。 LOOKUP函數(shù)使用1作為查詢值,在由負(fù)數(shù)、0和錯誤值構(gòu)成的數(shù)組中,忽略錯誤值提取最后一個等于或小于1的數(shù)值。最后再使用負(fù)號,將提取出的負(fù)數(shù)轉(zhuǎn)為正數(shù)。 九、帶合并單元格的查詢 如下圖,根據(jù)D2單元格的姓名查詢A列對應(yīng)的部門。 公式為: =LOOKUP("做",INDIRECT("A1:A"&MATCH(D2,B1:B10,0))) MATCH(D2,B1:B10,0)部分,精確查找D2單元格的姓名在B列中的位置。返回結(jié)果為7。 用字符串"A1:A"連接MATCH函數(shù)的計算結(jié)果7,變成新字符串"A1:A7"。 接下來,用INDIRECT函數(shù)返回文本字符串"A1:A7"的引用。 如果MATCH函數(shù)的計算結(jié)果是5,這里就變成"A1:A5"。同理,如果MATCH函數(shù)的計算結(jié)果是10,這里就變成"A1:A10"。也就是這個引用區(qū)域會根據(jù)D2姓名在B列中的位置動態(tài)調(diào)整。 最后用=LOOKUP("做",引用區(qū)域)返回該區(qū)域中最后一個文本的內(nèi)容。 簡化后的公式相當(dāng)于: =LOOKUP("做",A1:A7) 返回A1:A7單元格區(qū)域中最后一個文本,也就是江北公司,得到“蘇明哲”所在的部門。 |
|
|