1. 程式人生 > >EXCEL中多條件查詢的15種方法探討

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)