十大必会函数SUMPRODUCT()进阶篇(各种函数总结)
大家好,我们来看SUMPRODUCT函数的进阶篇。我们在进阶篇里会讲到函数的原理以及会犯的错误。
思维导图
举例是我们环球影城的项目及项目它的热度星级和具体项目的排队时间,我们把我们的项目生成一个智能表。
我们点击公示下的名称管理器,该智能表的名称已经起名为paixu,我们就可以直接使用了。
我们输入SUMPRODUCT,函数输入排序的热度星级这一类,我们需要筛选热度星级为5或者热度星级为三的项目,我们把热度星级为五或者热度星级为三的项目选出来,我们看计数是得8,所以这个函数可以帮助我们返回一个基于不同的条件的计数项,在这里加号代表或者,我们热度星级为五或者热度星级为三的项目,这是SUMPRODUCT函数的第一种用法。
SUMPRODUCT函数另外一种用法---“并且”的关系
在函数里不写加号,这里写乘号,乘号代表且,热度星级等于I2 单元格,我们在I2单元格写入的数值为5,也就是我们想让我们热度星级为5的项目筛选出来,并且排队时间大于J2单元格,也就是大于120分钟,我们发现我们会得到一个结果,因为只有150分钟大于120分钟,也就是我们使用SUMPRODUCT函数得到的1。
我们来看一下这个公式,我们在这里没有直接在公式里写入数值5,而是写入了另外的单元格的引用它的内容的数值,这里方便我们进行修改。比如说我们想看排队时间大于100分钟的项目,并且热度星级为5,这时候我们把J2单元格改为100,然后按回车,我们发现我们SUMPRODUCT函数会返回三,就是我们热度星级为5,这4个项目中,并且排队时间大于100的项目,发现有3个,所以我们注意到这里的星号代表并且,加号代表或者。
最后我们来看一个这个函数会犯的错误
我们把排队时间改为120分钟。
我们看我们在这里做的SUMPRODUCT函数,我们想求我们热度星级为5,或者排队时间大于120分钟的项目,热度星级为5的项目有4个,或者排队时间大于120分钟,其中有1个但是我们总的项目数是4个,我们用SUMPRODUCT返回的结果却是5,这就是我们SUMPRODUCT函数的一个错误。
下面我们分析一下SUMPRODUCT函数的原理,从而理解上面的错误
我们点击公式求值,函数先把排序热度星级智能表里的一列的数值取出来,形成一个数组,让这个数组里的值分别去和我们指定的I2单元格里的热度星级为5的值去做比较。
我们再点击求值,我们看数组里的值等于5,这里分别去做比较,我们发现比较完的结果会有真或者假,真就代表有的值确实等于5,有的值不等于5。
下一步我们我们SUMPRODUCT函数里会把会以我们理解的或者代表加号去做求和,我们会把两个数组的值去做分别对应求和。
我们发现因为第一个值都为true,所以处在计算机里在用1去表示,假为0,所以两个一如果做加法运算,它就会得到2,我们点击求值,我们发现我们形成的新数组,所以就得到2+3,所以我们就得到我们的值为5。
也就是说我们SUMPRODUCT函数得到的是热度星级等于5的情况下,我们的4个条目或者我们排队时间大于120分钟的一个条目的求和,因为这里我们使用了或者的关系,所以他就会把我们的4个条目和我们的1个条目求和,这是计算带有条件的总数时会犯的错误。如果你能看到这里,相信你一定会有所收获,请帮助我们点赞和关注,谢谢。