sumproduct多条件求和 非数值的视为0

假设有个表格是这样的:
A列 B列 C列
1行
2行 文本1 1 文本10
3行 文本2 2 文本20
4行 文本3 3 文本30
5行 文本1 4 文本40,
求 A列是文本1,C列是文本10,B列的和,
公式可以是这样:sumproduct(((A1:A5="文本1")*(C1:C10="文本10"))*(B1:B5))
这个公式没有问题,是可行的。
问题是:假设B1单元格是一个 文本80,那么这个公式会返回Value!错误。请教,这个如何破?

你的公式
sumproduct(((A1:A5="文本1")*(C1:C10="文本10"))*(B1:B5))

ABC三列数据行数不同,公式不可行吧?

上述公式应为
sumproduct((A1:A5="文本1")*(C1:C5="文本10")*B1:B5)

若要涉及B列数据容错
sumproduct((A1:A5="文本1")*(C1:C5="文本10")*isnumber(B1:B5)*B1:B5)追问

嗯,提问中确是应该是C5,而不是C10,不过sumproduct((A1:A5="文本1")*(C1:C5="文本10")*isnumber(B1:B5)*B1:B5)依然是VALUE!错误啊。

追答

那么这样
=sumproduct((A1:A5="文本1")*(C1:C5="文本10")*if(isnumber(B1:B5),B1:B5,0))
Ctrl+Shift+回车结束

或者这样试试
=sumproduct((A1:A5="文本1")*(C1:C5="文本10")*(isnumber(B1:B5)*B1:B5))

追问

=sumproduct((A1:A5="文本1")*(C1:C10="文本10")*TEXT(B1:B5,"G/通用格式;-G/通用格式;0;\0"))
嗯,上面仁兄的方法可以了。
同样的,谢谢你!!

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-09
参考公式:
=sumproduct((A1:A5="文本1")*(C1:C10="文本10")*TEXT(B1:B5,"0;-0;0;\0"))追问

嗯,这个是处理了文本问题,但是若B列有小数,它会取整。。

追答

=sumproduct((A1:A5="文本1")*(C1:C10="文本10")*TEXT(B1:B5,"G/通用格式;-G/通用格式;0;\0"))

这样就小数也能算了。

追问

嗯,这回可以处理了,TEXT函数没有接触过,"G/通用格式;-G/通用格式;0;\0",是个什么参数呢。我靠,采纳错误了,对不起大神啊~~~

追答

我靠,居然选了个错误答案。

追问

手残了,对不住·········

第2个回答  2013-09-09
sumproduct(((A1:A5="文本1")*(C1:C10="文本10")*(B1:B5>0)*(B1:B5))本回答被提问者采纳