image.png

多条件唯一值的查找,是很多时候进行查找的时候会遇到的问题之一,

对于双条件或者三条件唯一值的查找做个系统整理,遇到类似的问题的时候顺利的解决.

什么叫做多条件唯一值的查找,举个例子:

下面这个表格,产品和型号对应到单价.

假使你查找单纯的"冰红茶",用VLOOKUP去找,当然只能够找到这个表格中第一次出现冰红茶对应到的单价,

image.png

对于这种类型通常会使用到以下的方法:

1.切片器筛选进行查找观看

2.SUMIFS函数

3.DSUM函数,DGET函数

4.INDEX+MATCH数组

1.切片器筛选

使用切片器进行筛选,

将原始表格变成超级表,然后选择透视表插入切片器,

就可以达到下面的效果.

切片器筛选

这种方法属于一种逻辑筛选,没有办法进行函数调取,

无法参与到表格的计算,仅仅是通过这种方式去进行内容的查看.

2.SUMIFS函数

如下面左侧表格是型号产品的销量,现在需要算出每个产品的总价,

总价=零售价*数量

那么也就需要知道零售价格.

image.png

多个条件锁定到唯一值,所以可以使用SUMIFS函数,

先算出单价:

=SUMIFS($H$2:$H$17,$F$2:$F$17,A2,$G$2:$G$17,B2)

因为满足2个条件的求和值,其实是一个唯一值,

所以所谓的求和,其实也变成了查找.

image.png

最后再用单价去乘以数量。

image.png

3.SUMIFS对比数据库函数

通过产品/型号/区域来查找唯一值:

SUMIFS逻辑和之前一样:

image.png

除了用SUMIFS函数,你还可以用到DSUM函数,

这个函数属于数据库函数,也可以找到同样的结果:

这个公式的结构是:

DSUM(表格范围,求和字段,条件区域)

表格范围为:下面右侧整个表格

求和字段:零售价

条件区域:右侧条件表格.

这个函数和高级筛选一样的用法.

结果如下所示:

需要特别注意的是,条件表的表头和原始表格表头必须完全一样.

image.png

之前是查找零售价,如果现在我们需要根据:

产品/型号/区域

来查找供货仓库,SUMIFS函数就不行了

因为仓库是文本而不是数值,SUMIFS没有办法处理文本.

image.png

DGET函数用法和DSUM一模一样,

DGET可以处理问题也可以处理数值,所以你可以用DGET来通过多个条件来进行文本或者数值的查找.

这个位置的机制就发生变化了,求和和查找是有区别的:

image.png

4.INDEX+MATCH数组

DGET函数的毛病和DSUM一样,基本没有办法在大面积查找或者计算表格中进行使用,

如下面这个表格,需要根据左侧的表格完成右侧的查找/计算.

image.png

使用INDEX+MATCH数组形态,才是最优的选择:

=INDEX($D$2:$D$19,MATCH(G2&H2&I2,$A$2:$A$19&$B$2:$B$19&$C$2:$C$19,0))

image.png

这个公式属于一个固定用法.

=INDEX(输出结果范围,

MATCH(条件1&条件2&条件3,

条件1区域&条件2区域&条件3区域,

0))

总价计算:

SUMIFS也可以INDEX+MATCH数组也可以.

image.png

image.png

图例下载:多条件唯一.xlsx

Last modification:May 16, 2023
如果觉得我的文章对你有用,请随意赞赏