關(guān)于Excel中多條件的查詢,應(yīng)該是平時(shí)問的比較多的問題了,今天系統(tǒng)的來(lái)嘮一嘮!寫起來(lái)真的是輕松愉快!常見的可能是這樣,根據(jù)多個(gè)字段來(lái)確定一個(gè)結(jié)果!首先我想告訴大家的是,所有的多條件查詢,都可以轉(zhuǎn)為單條件,如果你數(shù)據(jù)有一定的規(guī)律,可以生成唯一的ID來(lái)處理!一般我們可以直接把他們?nèi)拷M合起來(lái)就成一個(gè)條件了!使用COCANT函數(shù)把前面三列合并為一列,這樣就變成一個(gè)條件了,沒有COCANT函數(shù),也可以使用B2&C2&D2來(lái)處理,都比較簡(jiǎn)單!然后你就可以使用VLOOKUP或者INDEX+MATCH等基礎(chǔ)函數(shù)來(lái)輕松實(shí)現(xiàn)了!
=VLOOKUP(CONCAT(G2:I2),A:E,5,) 這種方法,雖然需要使用輔助列列,但是對(duì)新手來(lái)說(shuō)比較友好,難度較低!推薦新手或者初學(xué)者使用!如果你已經(jīng)有一定的函數(shù)基礎(chǔ),那么我們可以直接處理!常見手段可以使用LOOKUP,有多少組條件就“/”多少次就可以了,簡(jiǎn)單好記!=LOOKUP(1,0/($A$2:$A$11=F2)/($B$2:$B$11=G2)/($C$2:$C$11=H2),$D$2:$D$11) 當(dāng)然XLOOKUP函數(shù)也是不錯(cuò)的選擇,如果你的版本支持!=XLOOKUP(CONCAT($F$2:$H$2),$A$2:$A$11&$B$2:$B$11&$C$2:$C$11,$D$2:$D$11) 又或者直接使用為篩選而生的FILTER函數(shù),其中的MMULT部分就是判斷全部滿足條件,也就是結(jié)果為3!=FILTER(D2:D11,MMULT(N(A2:C11=F2:H2),{1;1;1})=3) 當(dāng)然你也可以使用傳統(tǒng)的INDEX+MATCH,其實(shí)也是支持的!解法何其之多!=INDEX(D2:D11,MATCH(CONCAT(F2:H2),A2:A11&B2:B11&C2:C11,)) 很多時(shí)候,我們要的結(jié)果是數(shù)值,且數(shù)據(jù)是聚合過(guò)的,也就是多條件下沒有重復(fù)內(nèi)容,那么SUMIFS函數(shù)更加方便!
=SUMIFS(D:D,A:A,F2,B:B,G2,C:C,H2) 如果多條件下還有多個(gè)結(jié)果,要如何處理,那么傳統(tǒng)的VLOOKUP、INDEX+MATCH這些就不太適合了,畢竟他們只能返回首個(gè)滿足條件的結(jié)果! 這個(gè)時(shí)候有兩個(gè)不錯(cuò)的套路,一個(gè)就是“萬(wàn)金油”通用解法!=IFERROR( INDEX( D:D, SMALL( IF( MMULT( N($A$2:$C$11 = $F$2:$H$2), {1; 1; 1} ) = 3, ROW($D$2:$D$11) ), ROW(A2) ) ), '' )
如果你的版本較高,我們就可以使用FILTER函數(shù),再簡(jiǎn)單一些,輕松愉快!
=FILTER( D2:D11, MMULT( N($A$2:$C$11 = $F$2:$H$2), {1; 1; 1} ) = 3 )
如果你覺得理解不了MMULT函數(shù),那么你也可以這樣寫,都是可以的 =FILTER(D2:D11,(A2:A11=F2)*(B2:B11=G2)*(C2:C11=H2))
看完本教程,我不允許還有不會(huì)多條件查詢的!如果怕忘記,是不是收藏、轉(zhuǎn)發(fā)備忘一下! 感謝(收藏,點(diǎn)贊、在看、轉(zhuǎn)發(fā))
|