在日常的Excel函數(shù)應(yīng)用中,最常用的就是查詢(xún)類(lèi)函數(shù),比如說(shuō)根據(jù)工號(hào)查詢(xún)姓名、根據(jù)學(xué)生查詢(xún)成績(jī)、根據(jù)男豬腳查詢(xún)女一號(hào)等等。
說(shuō)到查詢(xún)類(lèi)函數(shù),大家對(duì)VLOOKUP一定不會(huì)陌生,這可是人見(jiàn)人愛(ài)花見(jiàn)花開(kāi)的函數(shù)。
如下圖,查詢(xún)明星的配偶:
E2單元格公式為
=VLOOKUP(D2,A:B,2,0)
意思就是以D2單元格的姓名作為查詢(xún)值,以A:B為查找區(qū)域,在首列中找到與D2單元格相同的姓名,然后返回這個(gè)區(qū)域中與之對(duì)應(yīng)的第二列(也就是配偶所在列)的配偶。
如果我們以配偶作為查找值,需要在這個(gè)區(qū)域中查找和配偶對(duì)應(yīng)的姓名,該如何使用公式呢?
因?yàn)閂LOOKUP函數(shù)要求查詢(xún)值必須處于查詢(xún)區(qū)域的首列,再使用普通方法就無(wú)法完成要求了,今天就和大家說(shuō)說(shuō),關(guān)于逆向查詢(xún)的幾種方法。
方法一:使用IF函數(shù)重新構(gòu)建數(shù)組。
在E4中輸入
=VLOOKUP(D4,IF({1,0},$B$2:$B$17,$A$2:$A$17),2,0)
這個(gè)公式的用法就是用IF({1,0},$B$2:$B$17,$A$2:$A$17),返回一個(gè)配偶在前,姓名在后的多行兩列的內(nèi)存數(shù)組,使其符合VLOOKUP函數(shù)的查詢(xún)值處于查詢(xún)區(qū)域首列的條件,再用VLOOKUP查詢(xún)即可。
該函數(shù)使用比較復(fù)雜,運(yùn)算效率低。
裝逼指數(shù):★★★★★
推薦指數(shù):★
方法二:使用CHOOSE函數(shù)重新構(gòu)建數(shù)組。
E6使用公式為:
=VLOOKUP(D6,CHOOSE({1,2},B2:B17,A2:A17),2,0)
這個(gè)公式的原理也是重新構(gòu)建一個(gè)內(nèi)存數(shù)組,使其符合VLOOKUP函數(shù)的查詢(xún)值處于查詢(xún)區(qū)域首列的條件。
該函數(shù)與方法一的思路相同,同樣是使用復(fù)雜,運(yùn)算效率低。
裝逼指數(shù):★★★★★
推薦指數(shù):★
方法三:INDEX+MATCH結(jié)合使用。
E8使用公式為:
=INDEX(A:A,MATCH(D8,B:B,))
公式首先使用MATCH函數(shù)返回D8單元格姓名在B列單元格中的相對(duì)位置,也就是這個(gè)區(qū)域中所處第幾行。
再以此作為INDEX函數(shù)的索引值,從A列單元格區(qū)域中返回對(duì)應(yīng)位置的內(nèi)容。
這個(gè)公式是最常用的查詢(xún)公式之一,看似繁瑣,實(shí)際查詢(xún)應(yīng)用時(shí),由于其組合靈活,可以完成從左至右、從右到左、從下到上、從上到下等多個(gè)方向的查詢(xún)。
該函數(shù)是嵌套使用,操作靈活,運(yùn)算方便。
裝逼指數(shù):★★★
推薦指數(shù):★★★
方法四:所向披靡的LOOKUP函數(shù)。
E10使用公式為:
=LOOKUP(1,0/(D10=B2:B17),A2:A17)
這是非常經(jīng)典的LOOKUP用法。
首先用D10=B2:B17得到一組邏輯值,再用0除以這些邏輯值,得到由0和錯(cuò)誤值組成的內(nèi)存數(shù)組。再用1作為查詢(xún)值,在內(nèi)存數(shù)組中進(jìn)行查詢(xún)。
如果 LOOKUP 函數(shù)找不到查詢(xún)值,則它與查詢(xún)區(qū)域中小于或等于查詢(xún)值的最大值匹配,因此是以最后一個(gè)0進(jìn)行匹配,并返回A2:A17中相同位置的值。
該函數(shù)使用簡(jiǎn)便,功能強(qiáng)大,公式書(shū)寫(xiě)也比較簡(jiǎn)潔。
裝逼指數(shù):★
推薦指數(shù):★★★★★
如果有多條符合條件的結(jié)果,前三個(gè)公式都是返回首個(gè)滿(mǎn)足條件的值,而第四個(gè)公式則是返回最后一個(gè)滿(mǎn)足條件的值,這一點(diǎn)大家在使用時(shí)還需要特別注意。