与替代品的Sumproduct

时间:2012-06-21 09:11:19

标签: excel excel-2007

我有一个范围,包含数值和&空白细胞。某些数值将*作为后缀。

10* 5 7  9  25* 10

当我执行SUM(A1:A8)时,得到5 + 7 + 9 + 10 = 31的结果,即所需的输出。 现在,我还要求总和,而不考虑*后缀。我正在尝试使用

来解决
SUMPRODUCT(SUBSTITUTE(A1:A8,"*",""))

它适用于

SUMPRODUCT({"10","5","7","","9","","25","10"})

输出0,因为它们都是文本值。当我使用

SUMPRODUCT(value(SUBSTITUTE(A1:A8,"*","")))

它适用于

SUMPRODUCT({10,5,7,#VALUE!,9,#VALUE!,25,10})

最后输出#Value!。有人可以帮我解决这个问题吗?谢谢你的时间。

2 个答案:

答案 0 :(得分:5)

我认为空白是问题,因为当你使用= VALUE(“”)时会出现错误。尝试将零连接到SUBSTITUTE的开头,以便空白变为零​​

=SUMPRODUCT(VALUE(0&SUBSTITUTE(A1:A8,"*","")))

或者您可以使用+0代替VALUE,即

=SUMPRODUCT((0&SUBSTITUTE(A1:A8,"*",""))+0)

答案 1 :(得分:0)

尝试

=SUM(VALUE(SUBSTITUTE(A1:A8,"*","")))

并使用Ctrl + Shift + Enter输入,而不是输入。这使它成为一个数组公式,并将A1:A8范围视为SUBSTITUTE()函数的数组。因此,SUBSTITUTE()现在分别评估A1:A8中的每个单独值。 VALUE()将文本转换为数字,sum()将所有文本添加到数字中。

修改:公式=SUMPRODUCT(VALUE(SUBSTITUTE(A1:A8,"*","")))似乎对我有用。 (正常公式,不是数组公式)。