【Excel】多条件查找

例如下图:要求在单元格从C10中根据分类与名称找出相应的数量

image

1.VLOOKUP函数(数组公式)

{=VLOOKUP(A10&B10,IF({1,0},A2:A6&B2:B6,C2:C6),2,0)}

原理使用if{1,0}构造了数据


2.LOOKUP函数

=LOOKUP(1,0/(A10=A2:A6)*(B10=B2:B6),C2:C6)

原理:用lookup(1,0/(条件) 结构完成查找


3.SUM函数(数组公式)------有限制

{=SUM((A10=A2:A6)*(B10=B2:B6)*C2:C6)}

注意:用多条件求和的方法实现查找,前提是不能有重复的行和查找的内容为数字。


4.SUMIFS函数----有限制

=SUMIFS(C2:C6,A2:A6,A10,B2:B6,B10)

注意:用多条件求和的方法实现查找,前提是不能有重复的行和查找的内容为数字。


5.SUMPRODUCT函数----有限制

=SUMPRODUCT((A10=A2:A6)*(B10=B2:B6)*C2:C6)

注意:用多条件求和的方法实现查找,前提是不能有重复的行和查找的内容为数字。


6.MAX函数(数组公式)----有限制

{=MAX((A10=A2:A6)*(B10=B2:B6)*C2:C6)}

注意:前提是查找的内容为数字。


7.MATCH+INDEX函数(数组公式)----有限制

{=INDEX(C2:C6,MATCH(A10&B10,A2:A6&B2:B6,0))}

注意:match函数支持数组,所以可以把区域直接连接起来,不过需要使用数组形式输入。


8.OFFSET+MATCH函数(数组公式)

{=OFFSET(C1,MATCH(A10&B10,A2:A6&B2:B6,0),)}

注意:match函数支持数组,所以可以把区域直接连接起来,不过需要使用数组形式输入。


9.INDIRECT+MATCH函数(数组公式)

{=INDIRECT("C"&MATCH(A10&B10,A1:A6&B1:B6,0))}

注意:match函数支持数组,所以可以把区域直接连接起来,不过需要使用数组形式输入。


10.DGET函数

=DGET(A1:C6,3,A9:B10)

注意:Dget函数是数据库函数,可以用来条件查找。第3个参数必须是单元格区域作为条件引用。


上述例子,我已经全部在Excel中验证完成,以下是Excel附件

点击图标下载

image

posted @ 2019-05-22 14:58  OLIVER_QIN  阅读(642)  评论(0编辑  收藏  举报