我的电子表格在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
错误。
以下是我正在尝试的屏幕截图:
无论如何,有没有告诉SUMPRODUCT
跳过没有数字数据的行?
显然,这只是一个例子,我的实际电子表格稍微复杂一点,有成千上万的数据行,而且名称重复了很多次。
答案 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
答案 1 :(得分:1)
在G4中,向下复制:
=SUMIF($A:$A,$E4,$C:$C)/$F4
编辑:SUMIF()只能使用其整个列引用限制在使用范围内,并且可以避免使用动态范围。