Excel查找函數(shù)應用技巧:逆向查詢的方法總結
編按:VLOOKUP要求查找值必須在查找區(qū)域的最左列,這就是我們經(jīng)常說的VLOOKUP函數(shù)只能實現(xiàn)正向查找(從左往右查)。如果查找值位于返回值所在列的右側,單獨使用VLOOKUP函數(shù)是無法查找的。那么如何在不改變原表格結構的情況下使用函數(shù)進行逆向查找(從右往左查)呢?今天就給大家介紹7種方法。
工作中我們經(jīng)常遇到查找引用數(shù)據(jù)的情形。毋庸置疑,VLOOKUP函數(shù)是“查找之王”,但是,VLOOKUP函數(shù)在查找引用數(shù)據(jù)時,要求查找的值必須在查找區(qū)域的最左列,如果不在最左列,將無法返回正確的結果。這也就是我們經(jīng)常說的VLOOKUP函數(shù)只能實現(xiàn)正向查找,單獨使用VLOOKUP函數(shù)是不能實現(xiàn)逆向查詢的。
如下圖,如果在不改變原表格結構的基礎上查找出書目編碼對應的書名,直接使用VLOOKUP函數(shù)得出的結果是錯誤的。
?

當然,如果我們將書目編碼列剪切到書名的左側,再使用VLOOKUP函數(shù)就可以成功索引過來結果。
?

但工作中很多時候我們不能改變數(shù)據(jù)源的列排序,在不改變原表格結構的情況下應該如何使用函數(shù)進行逆向查找呢?今天就給大家介紹7種方法。
?
方法一:VLOOKUP、IF函數(shù)嵌套
在K2單元格輸入公式
=VLOOKUP(J2,IF({1,0},$D$1:$D$100,$A$1:$A$100),2,0)
公式解析:通過IF({0,1}函數(shù)將A列和D列位置互換,然后在D列精確匹配與J2單元格相同的單元格,并返回互換后的區(qū)域?qū)?列即A列的數(shù)據(jù)。
?

在K2單元格輸入公式
=VLOOKUP(J2,CHOOSE({1,2},D:D,A:A),2,0)
公式解析:通過CHOOSE({1,2}函數(shù)將A列和D列位置互換,然后在D列精確匹配與J2單元格相同的單元格,并返回互換后的區(qū)域?qū)?列即A列的數(shù)據(jù)。
?

在K2單元格輸入公式
=LOOKUP(1,0/($D$2:$D$100=J2),$A$2:$A$100)
公式解析:D列滿足等于J2的條件的邏輯值為TRUE,被0除后,就是0;其他不滿足條件的邏輯值為FALSE,被0除后,就是“#DIV/0!”的錯誤值;通過LOOKUP在一批錯誤值和0組成的數(shù)列中,返回比1小的最大值,也即是0值(滿足J2條件的行)對應的A列數(shù)據(jù)。
?

在K2單元格輸入公式
=FILTER(A:A,D:D=J2)
公式解析:在D列中滿足內(nèi)容等于J2單元格的位置,在篩選區(qū)域A列返回對應位置的數(shù)據(jù)。
?

在K2單元格輸入公式
=INDEX(A:A,MATCH(J2,D:D,0))
公式解析:通過INDEX定位到A列,并根據(jù)MATCH函數(shù)返回J2在D列中所在的行號,得到對應A列數(shù)據(jù)。
?

在K2單元格輸入公式
=OFFSET($A$1,MATCH(J2,$D$2:$D$100,0),)
公式解析:以A列A1單元格為基準位置,向下偏移N行,而N就是通過match函數(shù)查找到的J2在D2:D100這片區(qū)域中的位置。
?

在K2單元格輸入公式
=INDIRECT("A"&MATCH(J2,D:D,0))
公式解析:通過match函數(shù)查找到J2在D列中的行號,列標“A”和行號構成的文本字符串表示單元格位置,用indirect函數(shù)引用這一單元格位置的具體內(nèi)容。

做Excel高手,快速提升工作效率,部落窩教育《一周Excel直通車》視頻和《Excel極速貫通班》直播課全心為你!
學習交流請加微信:hclhclsc進微信學習群。
相關推薦:
VLOOKUP&LOOKUP雙雄戰(zhàn)(四):在橫向和逆向查詢上的血拼!
如何在交叉查詢中使用VLOOKUP?看完就懂!
如何在特定位置批量插入空行等12種實用辦公技巧
工資表轉(zhuǎn)工資條,VLOOKUP有絕招!
版權申明:
本文作者老徐;同時部落窩教育享有專有使用權。若需轉(zhuǎn)載請聯(lián)系部落窩教育。