我可以使用SUMPRODUCT忽略空白单元格吗?

时间:2019-10-04 08:41:44

标签: excel excel-formula

我的电子表格在A列中有一个名称列表(有些重复),在B列中的字符串中存储了数字列表,而C列使用公式获取了B列中字符串的第一个数字。 E列从A列创建了一个唯一名称列表,在F列中多次显示了唯一名称,然后在G列中,i希望每次在列表中出现时都从C列获取对应的数字数据计算平均值。

我已经尝试过了

=SUMPRODUCT(($A$1:INDEX($A:$A,COUNTA($A:$A))=$E4)*($C$2:INDEX($C:$C,COUNTA($C:$C))))/$F4

我遇到的问题是,在数据列表中,C列中的某些单元格为空,所以我遇到了#VALUE错误。

以下是我正在尝试的屏幕截图:

new output

无论如何,有没有告诉SUMPRODUCT跳过没有数字数据的行?

显然,这只是一个例子,我的实际电子表格稍微复杂一点,有成千上万的数据行,而且名称重复了很多次。

2 个答案:

答案 0 :(得分:1)

空单元格不是您的问题。它将像您一样被公式接受。不幸的是,问题是因为您之间有空隙,COUNTA将返回不等于A列的范围> A列中的COUNTA将返回15,而C列中的COUNTA将返回11。不相等的范围将返回#VALUE

在这种情况下,您的问题可以通过以下方式解决:

=SUMPRODUCT(($A$1:INDEX($A:$A,COUNTA($A:$A))=$E4)*($C$1:INDEX($C:$C,COUNTA($A:$A))))/$F4

enter image description here

答案 1 :(得分:1)

在G4中,向下复制:

=SUMIF($A:$A,$E4,$C:$C)/$F4

编辑:SUMIF()只能使用其整个列引用限制在使用范围内,并且可以避免使用动态范围。