EXCEL中多條件查詢的15種方法探討
excel多條件查詢的思路很多,例如查詢、求和、最值、資料庫等函式等等。像SUM函式、lookup函式、VLOOKUP+CHOOSE函式、OFFSET+MATCH函式、INDIRECT+MATCH函式等等如下所示:
示例:
題目:如下圖所示,根據第9行的產品和型號,從上面表中查詢“銷售數量”,結果如C10所示
SUM函式:
公式{=SUM((A2:A6=A9)*(B2:B6=B9)*C2:C6)}
公式簡介:使用(條件)*(條件)因為每行符合條件的為0,不符合的為1,所以只有條件都符合的為非零數字。所以SUM求和後就是多條件查詢的結果
SUMPRODUCT函式:
公式:=SUMPRODUCT((A2:A6=A9)*(B2:B6=B9)*C2:C6)
公式簡介:和SUM函式用法差不多,只是SUMPRODUCT函式不需要陣列運算
MAX函式:
{=MAX((A2:A6=A9)*(B2:B6=B9)*C2:C6)}
SUM是通過求和把符合條件的提出來,這裡是使用MAX提取出最大值來完成符合條件的值提取。
lookup函式:
公式1=LOOKUP(A9&B9,A2:A6&B2:B6,C2:C6)
公式簡介:LOOKUP函式可以直接進行陣列運算。查詢的連線起來,被查詢區域也連線起來。
公式2:=LOOKUP(1,0/((A2:A6=A9)*(B2:B6=B9)),C2:C6)
公式3=LOOKUP(1,0/((A2:A6&B2:B6)=(A9&B9)),C2:C6)
公式4=LOOKUP(1,1/(((A2:A6=A9)+(B2:B6=B9))=2),C2:C6)
MIN+IF函式:
公式=MIN(IF((A2:A6=A9)*(B2:B6=B9),C2:C6))
SUM+IF函式:
公式
=SUM(IF(A2:A6=A9,IF(B2:B6=B9,C2:C6,0),0))
INDEX+MATCH函式組合:
公式1:{=INDEX(C2:C6,MATCH(A9&B9,A2:A6&B2:B6,0))}
公式2:{=INDEX(C2:C6,MATCH(1,(A9=A2:A6)*(B9=B2:B6),0))}
OFFSET+MATCH函式:
公式
=OFFSET(C1,MATCH(A9&B9,A2:A6&B2:B6,0),)
INDIRECT+MATCH函式:
公式
=INDIRECT("C"&MATCH(A9&B9,A1:A6&B1:B6,0))
VLOOKUP+CHOOSE函式:
公式 :
=VLOOKUP(A9&B9,CHOOSE({1,2},A2:A6&B2:B6,B2:C6),2,0)
HLOOKUP+TRANSPOSE+CHOOSE函式:
公式
=HLOOKUP(A9&B9,TRANSPOSE(CHOOSE({1,2},A2:A6&B2:B6,B2:C6)),2,0)
VLOOKUP+IF函式:
公式1 =VLOOKUP(A9&B9,IF({1,0},A2:A6&B2:B6,B2:C6),2,0)
公式2=VLOOKUP(A9&"|"&B9,A31:D35,4,0)‘新增輔助列
SUMIFS函式:
excel2007中開始提供的函式SUMIFS
=SUMIFS(C1:C6,A1:A6,A9,B1:B6,B9)
資料庫函式:
=DSUM(A1:C6,3,A8:B9)
=DGET(A1:C6,3,A8:B9)
=DAVERAGE(A1:C6,3,A8:B9)
=DMAX(A1:C6,3,A8:B9)
=DMIN(A1:C6,3,A8:B9)
=DPRODUCT(A1:C6,3,A8:B9)