多语言展示
当前在线:1164今日阅读:58今日分享:42

Excel:多条件查询,90%的人不知道

根据科目和明细科目两个条件查询对应金额:SUMIFS,SUMPRODUCT,SUM,SUM+IF,MAX,MAX+IF,MIN+IF等等。
方法/步骤
1

1、SUMIFS输入公式:=SUMIFS(C:C,A:A,E2,B:B,F2)SUMIFS(求和区域,条件区域1,条件1…条件区域n,条件n)

2

注意事项:①条件区域的数据必须是唯一的(SUMIFS函数是求和函数,如果条件区域的数据不是唯一的,那么其最终返回的结果是它们的和);②查询的结果必须是数字。

3

2、SUMPRODUCT输入公式:=SUMPRODUCT((A:A=E2)*(B:B=F2),C:C)SUMPRODUCT((条件1区域=条件1)*(条件2区域=条件2)*(……),求和区域)

4

注意事项:①条件区域的数据必须是唯一的(如果条件区域的数据不是唯一的,那么其最终返回的结果是它们的和);②查询的结果必须是数字。

5

3、SUM输入公式:=SUM((A2:A10=E2)*(B2:B10=F2)*C2:C10)数组公式,按三键结束。

6

注意事项:①条件区域的数据必须是唯一的(如果条件区域的数据不是唯一的,那么其最终返回的结果是它们的和);②查询的结果必须是数字。

7

4、SUM+IF输入公式:=SUM(IF(A:A=E2,IF(B:B=F2,C:C)))数组公式,按三键结束。

8

注意事项:①条件区域的数据必须是唯一的(如果条件区域的数据不是唯一的,那么其最终返回的结果是它们的和);②查询的结果必须是数字。

9

5、MAX输入公式:=MAX((A2:A10=E2)*(B2:B10=F2)*C2:C10)数组公式,按三键结束。

10

注意事项:①条件区域的数据必须是唯一的(如果条件区域的数据不是唯一的,那么其最终返回的结果是它们中最大的那个);②查询的结果必须是数字。

11

6、MAX+IF输入公式:=MAX(IF(A2:A10=E2,IF(B2:B10=F2,C2:C10)))数组公式,按三键结束。

12

注意事项:①条件区域的数据必须是唯一的(如果条件区域的数据不是唯一的,那么其最终返回的结果是它们中最大的那个);②查询的结果必须是数字。

13

7、MIN+IF输入公式:=MIN(IF(A2:A10=E2,IF(B2:B10=F2,C2:C10)))数组公式,按三键结束。

14

注意事项:①条件区域的数据必须是唯一的(如果条件区域的数据不是唯一的,那么其最终返回的结果是它们中最小的那个);②查询的结果必须是数字。

15

8、AVERAGE+IF输入公式:=AVERAGE(IF(A2:A10=E2,IF(B2:B10=F2,C2:C10)))数组公式,按三键结束。

16

注意事项:①条件区域的数据必须是唯一的(如果条件区域的数据不是唯一的,那么其最终返回的结果是它们的平均值);②查询的结果必须是数字。

17

9、VLOOKUP+IF

18

输入公式:=VLOOKUP(E2&F2,IF({1,0},A2:A10&B2:B10,C2:C10),2,0)用IF函数构造内存数组,数组公式,按三键结束。VLOOKUP(查找值,查找区域,返回结果在查找区域的第几列,查找方式)

19

输入公式:=VLOOKUP(E2&F2,CHOOSE({1,2},A2:A10&B2:B10,C2:C10),2,0)数组公式,按三键结束。

20

10、LOOKUP输入公式:=LOOKUP(1,0/((A2:A10=E2)*(B2:B10=F2)),C2:C10)LOOKUP(1,0/((查找区域1=查找值1)*(查找区域2=查找值2)),返回值的区域)

21

11、INDEX+MATCH入公式:=INDEX(C2:C10,MATCH(E2&F2,A2:A10&B2:B10,))数组公式,按三键结束。INDEX:在给定的单元格区域中,返回特定行列交叉处单元格的值或引用。MATCH:返回符合特定值特定顺序的项在数组中的相应位置。MATCH函数支持数组,其多种条件可以直接用&连接。MATCH(E2&F2,A2:A10&B2:B10,)部分找到E2&F2即'销售费用折旧费'在区域A2:A10&B2:B10中的位置为7,把它作为INDEX的第二参数;INDEX(单元格区域C2:C10,行号7),得到结果为6022。

22

12、OFFSET+MATCH输入公式:=OFFSET(C1,MATCH(E2&F2,A2:A10&B2:B10,),)数组公式,按三键结束。OFFSET(参照单元格,偏移的行数,偏移的列数,所要引用的行数,所要引用的行数)MATCH(E2&F2,A2:A10&B2:B10,)部分找到E2&F2即'销售费用折旧费'在区域A2:A10&B2:B10中的位置为7,把它作为OFFSET的第二参数;以C1单元格为基点,向下偏移7行0列,到达C8单元格,返回值6022。

23

13、INDIRECT+MATCH 输入公式:=INDIRECT('C'&MATCH(E2&F2,A2:A10&B2:B10,)+1)数组公式,按三键结束。INDIRECT(对单元格的引用,引用样式)MATCH(E2&F2,A2:A10&B2:B10,)部分找到E2&F2即'销售费用折旧费'在区域A2:A10&B2:B10中的位置为7;区域A2:A10&B2:B10是从第2行开始的,前面还有1行,在得到的位置7的基础上+1,即8要返回的金额在C列, 所以是引用C列,即C8函数INDIRECT返回C8单元格的引用,即得到结果为6022。

24

14、数据库函数输入公式:=DGET(A1:C10,3,E1:F2)

25

个人建议    除DGET函数外,DSUM、DPRODUCT、DMAX、DMIN、DAVERAGE等函数都能实现多条件查询,在此不一一举例,有兴趣的朋友可以自己试试!使用格式(单元格区域,数据列,给定条件的单元格区域)

推荐信息