关于用SUMPRODUCT取代SUM数组公式的想法

关于用SUMPRODUCT取代SUM数组公式的想法,第1张

关于用SUMPRODUCT取代SUM数组公式的想法,第2张

用过数组公式的人可能都知道,我们一般用这个数组公式来计算多条件求和或者计数。比如:
一个详细的数据(见例题),我们需要问这个班所有科目成绩大于所有科目平均分的男生和女生的数量。这个问题不难。一般人们只是用sum()对多个条件求值(注:数组公式):
= sum(($ c $ 3:c $ 428 = $ k3)*(d $ 3:d $ 428 > = average(d $ 3:d $ 428))。
为此,不知能否用SUMPRODUCT()函数代替常用的SUM()多条件求和公式?答案是肯定的。
稍微修改一下上面的公式,请看:
= SUMPRODUCT(($ c $ 3:$ c $ 428 = $ K3)* 1,(d $ 3:d $ 428 > = average(d $ 3:d $ 428))*
原因是sum product()函数本身支持数组之间的运算(相同大小的数组相乘,然后相加在一起),所以我们不需要使用数组公式和组合键来完成。
还有:提醒大家,如果你试图把公式改成:
= SUMPRODUCT(($ c $ 3:$ c $ 428 = $ K3),(d $ 3:d $ 428 > = average(d $ 3:d $ 428))
如果多个条件像这样并行编写,系统默认为AND关系(即乘法)进行运算,但是sum product不支持逻辑值数组中常数之间的乘法(有点遗憾:),所以请一定要把逻辑值转换成
你可能觉得比较麻烦,所以我建议用缩写公式,实际上是把多个数组参数改成一个数组,避免了不同维数的数组相乘带来的麻烦。
= sum product(($ C $ 3:$ C $ 428 = $ K3)*(d $ 3:d $ 428 > = average(d $ 3:d $ 428)))
同样:如果我们需要找出所有总分大于平均总分的男生的所有总分,我们也可以使用公式:
= sum product(($ C $ 3:C $ 428 = $ K13)*(I $ 3:I $ 428 > = average(I $ 3

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 关于用SUMPRODUCT取代SUM数组公式的想法

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情