?
今天和大家分享的主題是Excel函數(shù)常用的各種條件查詢套路總結(jié),內(nèi)容涵蓋了單條件數(shù)據(jù)查詢、多條件數(shù)據(jù)查詢、精確查詢、模糊條件查詢、多結(jié)果數(shù)據(jù)查詢以及動態(tài)表格查詢、多表數(shù)據(jù)查詢等。建議收藏哦~
1,單條件單結(jié)果查詢
醬紫的問題,我們最常用VLOOKUP函數(shù)。
VLOOKUP函數(shù)的語法非常簡單。
=VLOOKUP(找誰,在哪里找,查找值在查找范圍中的第幾列?0失誤找還是隨便找?)
但該函數(shù)有3個新手容易犯錯的注意點:
1,查找值必須在查找范圍的首列。
2,第3參數(shù)是返回查找值在查找范圍中的第幾列,而不是表格的第幾列。
3,第4個參數(shù)是匹配方式,當使用精確匹配方式時,通常輸入0。
當查找值不在查找范圍首列時,與其選擇VLOOKUP函數(shù),不如使用INDEX+MATCH函數(shù)組合。
公式:
=INDEX(A:A,MATCH(D2,B:B,0))
MATCH函數(shù)先取得D2單元格的值在B列中的序列號,然后通過INDEX函數(shù)按圖索驥取得結(jié)果。
有一部分表親此時依然喜歡使用VLOOKUP函數(shù):
{=VLOOKUP(D2,IF({1,0},B:B,A:A),2,0)}
坦白說,該數(shù)組公式計算效率和編寫體驗都奇差無比,是2B青年糊弄小白新手的常用伎倆,少用為宜。
2,多條件單結(jié)果查詢
這樣的問題我們通常使用LOOKUP函數(shù)。該套路可以總結(jié)為:
=LOOKUP(1,0/(條件1*條件2……),結(jié)果區(qū)域)
如下圖所示,C10單元格公式:
=LOOKUP(1,0/((A$2:A$7=E2)*(B$2:B$7=F2)),C$2:C$7)
3,單條件模糊查詢
Excel內(nèi)常用的通配符有兩個。一個星號(*),一個問號(?)。
星號可以代替任意個字符,既可以是0個,也可以是多個。
問號只能代替任意一個字符。
MATCH函數(shù)和VLOOKUP函數(shù)都支持通配符的使用。
如下圖所示,兩個函數(shù)都可以解決問題。
公式1:=VLOOKUP('*'&D2&'*',A:B,2,0)
公式2:=INDEX(B:B,MATCH('*'&D2&'*',A:A,0))
4,多條件模糊查詢
多條件模糊查詢依然可以使用LOOKUP(1,0/(條件),結(jié)果)的經(jīng)典套路。
下面的公式利用SEARCH函數(shù)支持使用通配符的特性(FIND函數(shù)不支持通配符),進行模糊查詢匹配。
公式:
=LOOKUP(1,0/SEARCH('*'&A10&'*'&B10&'*',A$2:A$7&B$2:B$7),C$2:C$7)
5,多結(jié)果數(shù)據(jù)查詢:
該問題依然有一個經(jīng)典的萬金油函數(shù)查詢套路,INDEX+SMALL+IF。
公式:
=INDEX($B:$B,SMALL(IF($A$1:$A$7=$D$2,ROW($1:$7)),ROW(A1)))
解說:
公式先通過IF函數(shù)判斷A1:A7的數(shù)據(jù)是否等于D2單元格的查詢值,如果相等,則返回對應值的行號,否則返回邏輯值FALSE;然后通過SMALL函數(shù)對行號從小到大取值,最后通過INDEX函數(shù)根據(jù)行號按圖索驥取得最后的查詢結(jié)果。
6,動態(tài)表格數(shù)據(jù)查詢
當根據(jù)單元格所輸入或選擇的表名,動態(tài)性的對相應的表格進行數(shù)據(jù)查詢時,我們通常嵌套INDIRECT函數(shù)構(gòu)建動態(tài)查詢區(qū)域。
如下圖所示,根據(jù)B1單元格輸入的表名,查詢B2單元格在該表所對應的成績結(jié)果。
公式:
=VLOOKUP(B2,INDIRECT(B1&'!A:B'),2,0)
7,多表格數(shù)據(jù)查詢
一個工作簿有多個表格,當你并不知道該查詢值可能存在哪個表格時,可以使用以下多表數(shù)據(jù)查詢套路。
假設表格名稱是1~12月。
公式:
=VLOOKUP(B1,INDIRECT(LOOKUP(1,0/COUNTIF(INDIRECT(ROW($1:$12)&'月!A:A'),B1),ROW($1:$12)&'月!a:b')),2,0)
解說:
該公式先通過INDIRECT(ROW($1:$12)&'月!A:A')構(gòu)建多表數(shù)據(jù)區(qū)域,通過COUNTIF判斷查詢值在多表數(shù)據(jù)區(qū)域(A列)是否存在,然后通過LOOKUP的條件查詢套路返回相應的表格名稱,最后再使用INDIRECT函數(shù)對LOOKUP的表名查詢結(jié)果構(gòu)建VLOOKUP函數(shù)的查詢區(qū)域,進而取得最后查詢結(jié)果。
更多表格技巧:歡迎關注微博@EXCELers 。????
聯(lián)系客服