SUMPRODUCT函数返回错误值的原因分析
问题
既然在使用SUMPRODUCT函数时,能用乘法运算合并多个求和条件与求和数在,可为什么图 1中G2单元格中的公式却返回错误值#VALUE!,你知道原因吗?
=SUMPRODUCT((A2:A11)*(B2:B11=F2)*C2:C11)
图 1 求张三销售的电视机总数量
参考答案
在这个公式中,虽然SUMPRODUCT函数的参数由一串很长的字符组成,但它只是一个参数,这个参数是三个数组的乘积。
=SUMPRODUCT((A2:A11)*(B2:B11=F2)*C2:C11)
只设置一个参数的SUMPRODUCT函数,其共通与SUM函数基本相同:求参数中包含的所有数值之和。如果参数中包含文本、逻辑值等非数值类型的数据,计算时函数会自动忽略这些数据,但是不能忽略这组数中包含的错误值。
如果SUMPRODUCT函数的参数中包含错误值,函数也将返回错误值。这个公式之所以返回错误值,就是这个原因。
A2:A11、B2:B11和C2:C11这三个区域中都没包含错误值,为什么公式还会返回错误值。
虽然A2:A11、B2:B11和C2:C11区域中的数据不包含错误值,但执行参数中的乘法运算后就能返回错误值了。
发现了吗?C8单元格中保存的是“9台”这样的文本,因为这样的文本不能参与算术运算,所以执行乘法运算后,在返回数组的该位置会出现一个错误值,我们可以借助<F9>键查看执行乘法运算后的结果,如图 2所示。
图 2 执行乘法运算返回的错误
录入的数据不规范,是导致公式计算出错的原因。规范的数据,一定会为汇总和处理这些数据减少许多不必要的麻烦,这也是为什么我们一直强调要规范地管理各种数据的原因。
网友评论