在单元格中使用if语句的Excel SumProduct。

时间:2017-05-24 04:27:30

标签: excel excel-vba excel-formula sum vba

我在Excel中遇到了一个基本问题。我有一行名字和一行数字。我试着找一个特殊名称的这些数字的总和。

离。

 A        B
Apple     12
Apple     12
Kiwi      9 
Apple     4
Banana    51
Kiwi      12
Banana    4 
Kiwi      

到目前为止,我只使用一种效果很好的基本产品。喜欢

=Sumproduct((A1:A8=A1)*(B1:B8)
This formula gives me back my total number of Apples
(12+12+4). 

问题是,如果一个单元格包含一些公式,那么我有#VALUE!结果。 假设最后一个名为Kiwi的单元格包含类似

的代码
=if(A64="", "", 12) 
Then it makes Kiwi empty if A64 is empty. Great.

但是sumproduct不再起作用了。

我无法对名称进行排序......任何想法?

谢谢

2 个答案:

答案 0 :(得分:1)

您只需使用=SUMIF()公式即可获得特殊名称的这些数字的总和。

=SUMIF($A$1:$B$64,A1,$B$1:$B$64)

=SUMIF($A$1:$B$64,"kiwi",$B$1:$B$64)

您可以根据列表更改这些范围。 (您甚至可以在Name Manager中定义动态名称,然后您可以使用名称 作为范围。)

答案 1 :(得分:1)

这不是你的单元格被计算的事实(包含一个公式),这是因为公式的结果是一个文本。

也许您可以使用à0而不是0长文本并将条件格式应用于您的单元格(字体颜色为白色,如果为0)

    =if(A64="", 0, 12)