使用SUMPRODUCT函数巧妙处理多条件判断

网友投稿 778 2022-10-14

使用SUMPRODUCT函数巧妙处理多条件判断

下面是要使用公式解决的问题:

如果值处于0%-25%,则返回0;处于16%-50%,则返回0.1;处于51%-75%,则返回0.2;处于76%-100%,则返回0.3;大于100%则返回0.4。

如下所示,值为80%,返回0.3。

通常,我们会考虑使用IF函数的公式:

=IF(AND(B3>=0,B3<=0.25),0,if(and(b3>=0.26,B3<=0.5),0.1,if(and(b3>=0.51,B3<=0.75),0.2,if(and(b3>=0.76,B3<=1),0.3,0.4))))

太冗长了!如果条件更多,则需要增加更多的IF语句。

这里使用SUMPRODUCT函数编写了一个简洁的公式:

=SUMPRODUCT((B3>{0.25,0.5,0.75,1})*0.1)

我们来看看公式中的:

B3>{0.25,0.5,0.75,1}

用来将B3中的值进行分类,本例中的结果为:

{TRUE,TRUE,TRUE,FALSE}

将其与0.1相乘,得到:

{0.1,0.1,0.1,0}

将其传递给SUMPRODUCT函数:

=SUMPRODUCT((B3>{0.25,0.5,0.75,1})*0.1)

即:

=SUMPRODUCT({0.1,0.1,0.1,0})

由于SUMPRODUCT函数内只有一个数组,因此简单地将该数组元素值相加,得到结果:

0.3

注意,SUMPRODUCT函数不会直接处理TRUE/FALSE值的数组,因此,如果使用公式:

=SUMPRODUCT((B9>{0.25,0.5,0.75,1}))*0.1

结果将是0。

要得到正确的结果,需要将上面的公式修改为:

=SUMPRODUCT(1*(B10>{0.25,0.5,0.75,1}))*0.1

或者:

=SUMPRODUCT(–(B10>{0.25,0.5,0.75,1}))*0.1

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Excel怎么添加可以打印的背景图?
下一篇:Excel制作随心变的图表动态标题
相关文章