在日常工作中,excel的查找函數(shù)可以稱得上是函數(shù)的精髓之一,因為查找函數(shù)單獨(dú)使用就可以實現(xiàn)很多日常操作需要,更別說很多復(fù)雜的函數(shù)往往也會嵌套查找函數(shù)使用,常用的查找函數(shù)有vlookup、index—match、lookup函數(shù)等,這些函數(shù)非常相似,有些查找選擇這些函數(shù)任意一個都可以完成,今天小編給大家介紹一下lookup函數(shù)的幾種用法,這個函數(shù)非常靈活,可以在很多種情況下運(yùn)用。
本文概要
一:基本正向查找與反向查找
其實查找本來沒有必要分成正向查找或者反向查找,因為vlookup函數(shù)用的人實在太多了,vlookup函數(shù)進(jìn)行正向查找比較簡單,反向查找稍顯復(fù)雜,所以正向查找和反向查找會做出區(qū)分。
但是在lookup函數(shù)中,正向查找和反向查找的公式完全一樣,即公式=lookup(1,0/(條件區(qū)域=條件),返回結(jié)果區(qū)域)。這個格式是lookup函數(shù)常用的固定套路,可能比較難以理解,下面就以案例介紹這個函數(shù)的含義
以下圖中根據(jù)姓名查找成績?yōu)槔?strong>E2單元格輸入的函數(shù)=LOOKUP(1,0/($A$2:$A$10=D2),$B$2:$B$10),
在這個函數(shù)中,第二個參數(shù)的分母部分是($A$2:$A$10=D2),表示判斷D2單元格是否等于A2到A10單元格,如果等于返回的結(jié)果是true,否則返回的結(jié)果是false,此處返回的結(jié)果是{FALSE;FALSE;FALSE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE},即第四個判斷為true。
在0/($A$2:$A$10=D2)中,其實true可以看做是1,false可以看做是0,計算結(jié)果只有第四個返回的值為0,其他為錯誤值,因為0作為分母無意義,此處返回的結(jié)果是{#DIV/0!;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!;#DIV/0!}
在lookup函數(shù)查找中,查找的結(jié)果會忽略錯誤值,而第二個參數(shù)只有第四個為0,不是錯誤值,所以第一個參數(shù)1在第二個參數(shù)中查找,返回的查找結(jié)果是第四個數(shù),即“趙云”,第三個參數(shù)$B$2:$B$10為返回的結(jié)果,即最終計算結(jié)果返回“趙云”對應(yīng)的成績。
查找完成后,向下拖動即可填充公式,同理,只要成績不唯一(此處只為舉例),根據(jù)成績反向查找姓名公式含義不變。
二:多條件查找
通過上述基本查找的介紹,相信大家對lookup函數(shù)的公式含義有一定的了解,其實在多條件查找中,仍然使用的是與基本查找相同的套路,即函數(shù)公式=lookup(1,0/((條件區(qū)域1=條件1)*(條件區(qū)域2=條件2)),返回結(jié)果區(qū)域)。
下圖中根據(jù)區(qū)域和產(chǎn)品型號查找銷量,那么在H2單元格輸入的函數(shù)公式為=LOOKUP(1,0/(($A$2:$A$21=F2)*($B$2:$B$21=G2)),$C$2:$C$21),這個函數(shù)中第二個參數(shù)的分母部分發(fā)生變化,用乘號連接表示需要同時滿足這兩個條件,乘號前面和后面的條件判斷結(jié)果false可以看作為0,true可以看作為1,所以兩者相乘返回的結(jié)果就是1或者0。最后分母部分返回的結(jié)果是{0;0;0;0;0;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0},其他參數(shù)的含義就和上面介紹的一樣了。
三:模糊查找
在下圖中,EF兩列為評價標(biāo)準(zhǔn)和評價類型,我們要根據(jù)EF列的標(biāo)準(zhǔn),在C列中顯示B列銷量數(shù)據(jù)的評價類型,該如何設(shè)置公式呢?
這種查找的基本函數(shù)=lookup(查找依據(jù),查找區(qū)域,返回結(jié)果區(qū)域)。所以我們在C2單元格輸入的公式為=LOOKUP(B2,$E$2:$E$7,$F$2:$F$7),其實這個函數(shù)可以說是lookup函數(shù)的基本用法,lookup函數(shù)在查找中,如果查找不到準(zhǔn)確的值,那么就會返回到小于查找值的最大值對應(yīng)的結(jié)果,前提是對查找范圍進(jìn)行升序排序,即下圖中E列數(shù)據(jù)按從小到大順序排列。
在C2單元格中,根據(jù)B2單元格的內(nèi)容在E2到E7單元格中進(jìn)行查找,因為520在查找區(qū)域中沒有準(zhǔn)確的查找依據(jù),所以返回查找的依據(jù)是500,最后返回第三個參數(shù)對應(yīng)的結(jié)果,即“一類”。然后向下拖動即可填充公式。
四:查找最后一次出現(xiàn)的記錄
在下圖中,如何查找“一班”、“二班”、“三班”對應(yīng)的最后一個名字及成績呢?
這里又用到了lookup函數(shù)的基本查找了,即F2單元格的公式=LOOKUP(1,0/($A$2:$A$10=E2),$B$2:$B$10)。第二個參數(shù)的分母($A$2:$A$10=E2)中的判斷結(jié)果有兩個會返回true,所以0/($A$2:$A$10=E2)返回的結(jié)果為{#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;0;#DIV/0!;#DIV/0!;#DIV/0!},而lookup函數(shù)查找不到滿足條件的值時,會忽略錯誤并返回最后一個值。所以此處會查找到班級對應(yīng)的最后一個姓名和成績。
五:根據(jù)簡稱在全稱中查找
在下圖中,D列是查找依據(jù),AB兩列是查找數(shù)據(jù)源,但是此處查找依據(jù)是簡稱,其他查找函數(shù)就不好實現(xiàn)了,利用lookup函數(shù)仍然非常容易。
這種查找的基本公式仍然為=lookup(查找依據(jù),查找區(qū)域,返回結(jié)果區(qū)域)。所以在E2單元格中輸入公式=LOOKUP(9^9,FIND(D2,$A$2:$A$5),$B$2:$B$5)即可。第二個參數(shù)FIND(D2,$A$2:$A$5)表示D2單元格在A2到A5單元格進(jìn)行查找,返回的結(jié)果為{#VALUE!;#VALUE!;5;#VALUE!},因為只有在第三個單元格可以查到“會計”并且返回的結(jié)果為5,即“會計”在“中級財務(wù)會計”中第5個字符開始。而其他結(jié)果都為錯誤值,所以9^9查到不到準(zhǔn)確結(jié)果,忽略錯誤值后,只會返回5對應(yīng)的成績。
這里第一個參數(shù)9^9只是為了保證準(zhǔn)確,此例中A列的單元格最多為8個字符,find函數(shù)返回的最大結(jié)果也不可能超過8,所以此處第一個參數(shù)輸入一個9也能返回正確的結(jié)果。
六:根據(jù)全稱在簡稱中查找
和上面情況相反,如果查找的數(shù)據(jù)源是簡稱,我們要根據(jù)全稱查找對應(yīng)的內(nèi)容,該如何操作呢?
此時在E2單元格輸入的公式為=LOOKUP(1,0/FIND($A$2:$A$5,D2),$B$2:$B$5),這個函數(shù)和上面的根據(jù)簡稱查找全稱十分相似,主要差異是在第二個參數(shù),第二個參數(shù)的分母函數(shù)為FIND($A$2:$A$5,D2),即查找數(shù)據(jù)源中的簡稱在查找依據(jù)中的位置,返回的結(jié)果是{#VALUE!;3;#VALUE!;#VALUE!},忽略錯誤值后,會返回第二個參數(shù)對應(yīng)的值。
?
這就是本文介紹的lookup函數(shù)的一些典型用法,可以看到=lookup(1,0/(條件區(qū)域=條件),返回結(jié)果區(qū)域)是lookup函數(shù)的常用套路,lookup函數(shù)可以忽略錯誤值并且返回最后一個值或最大值,再加上模糊查找功能,賦予了lookup函數(shù)更加靈活的用法。
聯(lián)系客服