平均不使用间接公式和空白值

我有这个公式:

=IFERROR( ( ( IFERROR(INDIRECT($A6&"!$E$15");"") +IFERROR(INDIRECT($A6&"!$E$29");"") +IFERROR(INDIRECT($A6&"!$E$43");"") +IFERROR(INDIRECT($A6&"!$E$57");"") +IFERROR(INDIRECT($A6&"!$E$71");"") +IFERROR(INDIRECT($A6&"!$E$84");"") ) /6);"") 

当这些IDIRECTS中的任何一个返回空值时,我会得到一个#VALUE! 错误(没有第一个IFERROR)。 每条线都可以正常工作,并且在单独放入单元格时,我可以将它们平均化。 如果我删除这个公式的/ 6部分,然后用AVERAGE公式包装行,我会得到#VALUE! 错误也。

我如何继续?

编辑,find解决办法(谢谢Mrig)

 =IFERROR( ( ( IF(ISNUMBER(INDIRECT($A7&"!$E$15"));INDIRECT($A7&"!$E$15");0) +IF(ISNUMBER(INDIRECT($A7&"!$E$29"));INDIRECT($A7&"!$E$29");0) +IF(ISNUMBER(INDIRECT($A7&"!$E$43"));INDIRECT($A7&"!$E$43");0) +IF(ISNUMBER(INDIRECT($A7&"!$E$57"));INDIRECT($A7&"!$E$57");0) +IF(ISNUMBER(INDIRECT($A7&"!$E$71"));INDIRECT($A7&"!$E$71");0) +IF(ISNUMBER(INDIRECT($A7&"!$E$84"));INDIRECT($A7&"!$E$84");0) )/ ( COUNTIF(INDIRECT($A7&"!$E$15");">=0") +COUNTIF(INDIRECT($A7&"!$E$29");">=0") +COUNTIF(INDIRECT($A7&"!$E$43");">=0") +COUNTIF(INDIRECT($A7&"!$E$57");">=0") +COUNTIF(INDIRECT($A7&"!$E$71");">=0") +COUNTIF(INDIRECT($A7&"!$E$82");">=0") ) );"") 

COUNTIF基本上replace原始代码中的数字“6”,并检查哪个INSNUMER(而不是IFERROR's)不是空白的,所以任何0%或更高的值(实际值)将被计数,以便到达真正的平均。

在注释中使用上述build议,可以使用IF(ISNUMBER())而不是IFERROR()

 =IFERROR( ( ( IF(ISNUMBER(INDIRECT($A6&"!$E$15"));INDIRECT($A6&"!$E$15");0) +IF(ISNUMBER(INDIRECT($A6&"!$E$29"));INDIRECT($A6&"!$E$29");0) +IF(ISNUMBER(INDIRECT($A6&"!$E$43"));INDIRECT($A6&"!$E$43");0) +IF(ISNUMBER(INDIRECT($A6&"!$E$57"));INDIRECT($A6&"!$E$57");0) +IF(ISNUMBER(INDIRECT($A6&"!$E$71"));INDIRECT($A6&"!$E$71");0) +IF(ISNUMBER(INDIRECT($A6&"!$E$84"));INDIRECT($A6&"!$E$84");0) )/6);"") 

我开始认为你的“错位”是14行,所以我用这个数组公式:

 =AVERAGE(IF(MOD(ROW(E15:E84), 14)=1, IF(ISNUMBER(INDIRECT($A6&"!E15:E84")), INDIRECT($A6&"!E15:E84")))) 

…但是你的“蹒跚”不是一致的14行; 最后的差距是13行,所以我修改为:

 =AVERAGE(IF(ROW(15:84)={15,29,43,57,71,84}, IF(ISNUMBER(INDIRECT($A6&"!E15:E84")), INDIRECT($A6&"!E15:E84")))) 

这将产生一个真正的平均没有零replace空白单元格,同时丢弃文本值。