Excel:多条件查询,90%的人不知道
1、SUMIFS
输入公式:
=SUMIFS(C:C,A:A,E2,B:B,F2)
SUMIFS(求和区域,条件区域1,条件1…条件区域n,条件n)

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

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

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

5、SUM
输入公式:
=SUM((A2:A10=E2)*(B2:B10=F2)*C2:C10)
数组公式,按<Ctrl+Shift+Enter>三键结束。

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

7、SUM+IF
输入公式:
=SUM(IF(A:A=E2,IF(B:B=F2,C:C)))
数组公式,按<Ctrl+Shift+Enter>三键结束。

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

9、MAX
输入公式:
=MAX((A2:A10=E2)*(B2:B10=F2)*C2:C10)
数组公式,按<Ctrl+Shift+Enter>三键结束。

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

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

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

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

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

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

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

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

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

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

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

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

22、INDIRECT+MATCH
输入公式:
=INDIRECT("C"&MATCH(E2&F2,A2:A10&B2:B10,)+1)
数组公式,按<Ctrl+Shift+Enter>三键结束。
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。

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

24、个人建议
除DGET函数外,DSUM、DPRODUCT、DMAX、DMIN、DAVERAGE等函数都能实现多条件查询,在此不一一举例,有兴趣的朋友可以自己试试!
