欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  Office

EXCEL中多条件查找的15种方法探讨

程序员文章站 2022-03-01 15:32:20
excel多条件查找的思路很多,例如查找、求和、最值、数据库等函数等等。像SUM函数、lookup函数、VLOOKUP+CHOOSE函数、OFFSET+MATCH函...

excel多条件查找的思路很多,例如查找、求和、最值、数据库等函数等等。像SUM函数、lookup函数、VLOOKUP+CHOOSE函数、OFFSET+MATCH函数、INDIRECT+MATCH函数等等如下所示:
示例:

题目:如下图所示,根据第9行的产品和型号,从上面表中查找“销售数量”,结果如C10所示

EXCEL中多条件查找的15种方法探讨

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)