别怕,Excel函数其实很简单

问   题:
你知道在公式
=SUMPRODUCT((A2:A11=E2)+0,(B2:B11=F2)+0,C2:C11)
中,SUMPRODUCT函数的第1参数和第2参数的“+0”有什么用吗?为什么没有“+0”公式不能完成统计?
参考答案
这是一个多条件求和的公式。
想知道公式中的“+0”有什么用,让我们先来看看SUMPRODUCT函数对参数的要求。
SUMPRODUCT函数用于求多组数值的乘积之和。这就要求各参数中包含的是数值类型的数据,如果参数中包含的数据不是数值类型,在计算时,SUMPRODUCT函数会把该数据当成数值0处理。
记住这个规则后,让我们先来看看去掉“+0”的公式是什么样:
=SUMPRODUCT(A2:A11=E2,B2:B11=F2,C2:C11)
很显然,SUMPRODUCT函数的第1、2参数都是执行比较运算的表达式,而比较运算返回的结果只能是逻辑值TRUE或FALSE。
也就是说,SUMPRODUCT函数的第1、2参数都是由逻辑值TRUE或FALSE组成的数组,如图 1所示。
图 1     SUMPRODUCT函数的各参数
因为第1、2参数中的逻辑值在计算时会被当成0值处理,和第3参数中的各个数值相乘后的结果也就是0,所以导致最终的统计结果为0,如图 2所示。
图 2     SUMPRODUCT函数错误的统计结果
公式中“+0”的作用就是将这些逻辑值转为数值,不让SUMPRODUCT将它们全部当成数值0。
因为逻辑值TRUE和FALSE可以直接参与算术运算,在运算时TRUE会被当成数值1,FALSE会被当成数值0。
让SUMPRODUCT函数第1、2参数中的逻辑值加上一个不会改变其对应数值大小的0值,就可以实现逻辑值转数值的目的。在转为数值的第1、2参数中,只有相同位置的两个数值都为TRUE,和第3参数相同位置的数值相乘后才不会得到0,SUMPRODUCT函数就是通过这样的思路来解决条件求和的问题。如图 3所示。
图 3     SUMPRODUCT函数的计算结果
当然,你也可以使用其他方法代替“+0”来完成这个转换数据类型的问题。你还知道什么好方法?记得和我们大家分享。
作者:罗国发
(0)

相关推荐