關(guān)鍵字:逆向查詢;Vlookup;函數(shù)
Hello,小伙伴們,你們好。
毋庸置疑,VLOOKUP是Excel函數(shù)中的“查找之王”、“人氣之王”!
但是,白璧微瑕。
VLOOKUP也有自己的一點小脾氣,剛正不阿,只能正向查找,絕不逆向查詢。
如下圖,如果在不改變原表格結(jié)構(gòu)的基礎(chǔ)上查找出書目編碼對應(yīng)的書名,直接使用VLOOKUP函數(shù)得出的結(jié)果是錯誤的。
如果我們將書目編碼列剪切到書名的左側(cè),再使用VLOOKUP函數(shù)就可以成功索引過來結(jié)果。
工作中很多時候我們不能改變數(shù)據(jù)源的列排序,在不改變原表格結(jié)構(gòu)的情況下應(yīng)該如何使用函數(shù)進行逆向查找呢?
今天就給大家介紹7種方法。
方法一:VLOOKUP、IF函數(shù)嵌套
在G2單元格輸入公式
=VLOOKUP(F2,IF({1,0},$C$2:$C$100,$A$2:$A$100),2,0)
公式解析:通過IF({0,1}函數(shù)將A列和C列位置互換,然后在C列精確匹配與F2單元格相同的單元格,并返回互換后的區(qū)域?qū)?yīng)第2列即A列的數(shù)據(jù)。
方法二:VLOOKUP、CHOOSE函數(shù)嵌套
在G2單元格輸入公式
=VLOOKUP(F2,CHOOSE({1,2},C:C,A:A),2,0)
公式解析:通過CHOOSE({1,2}函數(shù)將A列和C列位置互換,然后在C列精確匹配與F2單元格相同的單元格,并返回互換后的區(qū)域?qū)?yīng)第2列即A列的數(shù)據(jù)。
方法三:LOOKUP函數(shù)
在G2單元格輸入公式
=LOOKUP(1,0/($C$2:$C$100=F2),$A$2:$A$100)
公式解析:C列滿足等于F2的條件的邏輯值為TRUE,被0除后,就是0;其他不滿足條件的邏輯值為FALSE,被0除后,就是“#DIV/0!”的錯誤值;通過LOOKUP在一批錯誤值和0組成的數(shù)列中,返回比1小的最大值,也即是0值(滿足F2條件的行)對應(yīng)的A列數(shù)據(jù)。
方法四:Filter函數(shù)
在G2單元格輸入公式
=FILTER(A:A,C:C=F2)
公式解析:在C列中滿足內(nèi)容等于F2單元格的位置,在篩選區(qū)域A列返回對應(yīng)位置的數(shù)據(jù)。
方法五:Index、 match函數(shù)嵌套
在G2單元格輸入公式
=INDEX(A:A,MATCH(F2,C:C,0))
公式解析:通過INDEX定位到A列,并根據(jù)MATCH函數(shù)返回F2在C列中所在的行號,得到對應(yīng)A列數(shù)據(jù)。
方法六:Offset、match函數(shù)嵌套
在G2單元格輸入公式
=OFFSET($A$1,MATCH(F2,$C$2:$C$100,0),)
公式解析:以A列A1單元格為基準位置,向下偏移N行,而N就是通過match函數(shù)查找到的F2在C2:C100這片區(qū)域中的位置。
方法七:Indirect、match函數(shù)嵌套
在G2單元格輸入公式
=INDIRECT("A"&MATCH(F2,C:C,0))
公式解析:通過match函數(shù)查找到F2在C列中的行號,列標“A”和行號構(gòu)成的文本字符串表示單元格位置,用indirect函數(shù)引用這一單元格位置的具體內(nèi)容。
好啦,七種方法,個個實用,你學會了嗎?
聯(lián)系客服