我正在尝试使用sumproduct函数根据先前相邻列中的条件对列进行平均。
我尝试平均的列是根据具有IFERROR的公式计算的,如果有错误则返回空白。
=IFERROR(A5*B3,"")
该列中的某些单元格包含if错误语句生成的空白,我的sumproduct在尝试使用空白平均范围时发出#value错误。我希望它只被视为0
有没有相关的或者我应该尝试使用某种averageifs函数重新创建我的sumproduct?
这是有问题的副产品:
=SUMPRODUCT((Data!$KM$7:$OV$7=C$7)*(Data!$KM$9:$OV$118>=$B10)*(Data!$KM$9:$OV$118<=$A10)*(Data!$BLW$9:$BLW$118))/SUMPRODUCT((Data!$KM$7:$OV$7=C$7)*(Data!$KM$9:$OV$118>=$B10)*(Data!$KM$9:$OV$118<=$A10))
答案 0 :(得分:1)
请尝试使用此数组公式:
=AVERAGE(IF((Data!$KM$7:$OV$7=C$7)*(Data!$KM$9:$OV$118>=$B10)*(Data!$KM$9:$OV$118<=$A10)*(Data!$BLW$9:$BLW$118<>""),Data!$BLW$9:$BLW$118))
作为一个数组,需要在离开编辑模式时使用Ctrl-Shift-Enter确认。如果正确完成,则会将{}
放在公式周围。
SUMPRODUCT不起作用的原因是它试图将一个字符串(尽管是一个空字符串,但是一个字符串)与数字相乘,这会产生错误。
数组公式忽略所有空字符串单元格并跳过它们。
答案 1 :(得分:0)
公式 =IFERROR(A5*B3,"")
在单元格中放置一个 ""
。这不是一个值,因此使用此单元格的公式将不起作用。即使它是空白的,您也需要将其转换为数值
使用=value(IFERROR(A5*B3,""))