【使用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
推荐阅读
- python中循环嵌套是如何进行的?python中的循环嵌套使用流程
- python中的函数有什么作用?python函数的意义有什么?
- 什么是python的帮助函数?python的帮助函数有什么作用?
- Python中的round函数怎么使用?python中format函数与round函数的区别
- Python中的fileinput库如何使用?如何使用fileinput函数对文件进行操作?
- Python语言中的if语句如何使用?初学Python如何使用if语句?
- Python中sys包下有哪些输入输出方法?sys包下的输入输出语句如何使用?
- Python循环中有哪些内置函数?循环中的三个内置函数使用方法
- Python中怎么用selenium库保存图片?如何使用selenium工具抓取图片
- Python使用json库解析网络数据时报错怎么办?Python解析出错的解决办法