Excel中最難的多條件查詢公式,幫你整理好了

前面跟大家分享了Excel中多條件查詢的20種方法,

但是當我們查詢的結果區域是不確定的時候怎麼辦

?比如我們人事部彙總好的員工工資表,想要查詢某個月的工資;因為每個人做表的習慣不同,導致的考試成績科目不一致,想要查詢任意一科成績……今天就說一下這些常用的解決方法:

一、最簡單常規用法:輔助列+Vlookup+match函式

相信有點函式基礎的朋友都是從這個函式學起的,因為它比較入門而且實用性也非常強!即使不好查詢的情況我們也要構造出環境讓vlookup函式來實現,因此當用於多個條件來查詢的時候我們是實用最簡單的新增輔助列來查詢

比如我需要查詢二班王洪濤的數學成績:

Excel中最難的多條件查詢公式,幫你整理好了

首先在a35中新增輔助列=B35&C35下拉公式即可

在K35中輸入公式=VLOOKUP(H35&I35,$A$35:$F$52,MATCH(J35,$34:$34,0),0)

Excel中最難的多條件查詢公式,幫你整理好了

根據前幾天的分析改函式的語法結構相信你應該清楚了,唯一不同的是這裡的表是二維表,因為我們查詢的科目位置是變化的,所以需要使用一個match函式來確定科目的位置

Excel中最難的多條件查詢公式,幫你整理好了

方法二:LOOKUP+offset函式查詢的固定套路:

Lookup函式用法之一,向量形式=lookup(查詢值,條件區域,結果區域)

陣列形式=lookup(查詢值,結果區域)

Excel中最難的多條件查詢公式,幫你整理好了

公式解釋:

Excel中最難的多條件查詢公式,幫你整理好了

方法三:index+match函式經典組合

函式語法=index(結果區域,行號,列號)

在K88中輸入陣列公式=INDEX($D$88:$F$105,MATCH(H88&I88,$B$88:$B$105&$C$88:$C$105,0),MATCH(J88,$D$87:$F$87,0))

Excel中最難的多條件查詢公式,幫你整理好了

第一個match確定班級+姓名整體在b的位置為行號,第二個match確定科目在首行的位置為列號

方法四:縱向查詢hlookup+match陣列公式

與vlookup函式查詢區別就是縱向查詢,第三引數返回的行數

在K114中輸入陣列公式

=HLOOKUP(J114,$D$113:$F$131,MATCH(H114&I114,$B$113:$B$131&C113:C131,0),0)

與前面查詢函式不同的是hlookup函式查詢值是科目

公式解釋:

查詢值是:科目數學(可以根據下拉選單選擇任意一科)

查詢區域是:$D$113:$F$131,是以查詢值為首的整個區域

返回行數是:match確定班級+姓名作為整體在b113:c131區域的位置

第四引數:0為精確查詢查詢

Excel中最難的多條件查詢公式,幫你整理好了

方法五:offset+match陣列公式或indirect+address+match陣列公式

Excel中最難的多條件查詢公式,幫你整理好了

在K140中輸入陣列公式=OFFSET($B$139,MATCH(H140&I140,$B$140:$B$157&$C$140:$C$157,0),MATCH(J140,$C$139:$F$139,0))

在K167中輸入陣列公式=INDIRECT(ADDRESS(MATCH(H167&I167,$B$167:$B$184&$C$167:$C$184,0)+166,MATCH(J167,$166:$166,0)))

Excel中最難的多條件查詢公式,幫你整理好了

那麼以上都是可以歸為一類:都使用了查詢引用函式巢狀match函式定位,當你理解了每一項整個公式就變得更加簡單了!

六、sum家族函式

用好一個函式就要知道它適用哪些條件,當沒有重複記錄求和函式就變為查詢引用函式:

當SUMPRODUCT函式用於求和=SUMPRODUCT((條件1)*(條件2)*……*(條件n))*結果區域)

萬能sumproduct函式

在K194中輸入公式=SUMPRODUCT(($B$194:$B$211=H194)*(C194:C211=I194)*($D$193:$F$193=J194)*$D$194:$F$211)

Excel中最難的多條件查詢公式,幫你整理好了

sum陣列函式

在K219中輸入陣列公式=SUM(($B$218:$B$235=H218)*($C$218:$C$235=I218)*($D$217:$F$217=J218)*($D$218:$F$235))

Excel中最難的多條件查詢公式,幫你整理好了

方法七:最大/小函式也可以查詢

該類函式的使用也是有限制條件的,如同sum函式的原理一樣,當有重複記錄就會返回最大值或者最小值!

最大函式在K243中輸入陣列公式=MAX(($B$243:$B$260=H243)*(C243:C260=I243)*(D242:F242=J243)*(D243:F260))

最小函式在K267中輸入陣列公式=MIN(IF((B267:B284=H267)*(C267:C284=I267)*(D266:F266=J267),($D$267:$F$284)))

Excel中最難的多條件查詢公式,幫你整理好了

關於多條件查詢

返回單列查詢:20種方法你會幾個

Excel中不用函式、VBA也可以輕鬆實現一對多的查詢

Excel自適應的下拉查詢選單,超級簡單

至此對於多條件查詢返回列數不確定的用法大致就總結這麼多,涉及到了excel中基本常用的所有查詢引用函式,但不限於還有其他更適合的方法!無論使用哪種方法,只要是適合自己的或者能夠解決實際問題的都是好函式!透過這兩期的函式用法介紹,你對Excel中查詢引用函式是不是有了更深的理解?如果你還有更加簡單的方法歡迎在評論區留言互相學習交流一下!