Excel:为了避免#value,iferror应该返回什么? 错误

这可能简单,但似乎我无法find解决scheme。 谷歌search没有运气(可能是错误的关键字),无论如何:

我需要计算所有find的查找结果的平均值,并忽略所有未find的值。

我目前有什么:

= AVERAGE( IFERROR(VLOOKUP(A4,table01,2,0),""), IFERROR(VLOOKUP(A4,table02,2,0),""), IFERROR(VLOOKUP(A4,table03,2,0),""), IFERROR(VLOOKUP(A4,table04,2,0),""), IFERROR(VLOOKUP(A4,table05,2,0),""), IFERROR(VLOOKUP(A4,table06,2,0),""), IFERROR(VLOOKUP(A4,table07,2,0),""), IFERROR(VLOOKUP(A4,table08,2,0),""), IFERROR(VLOOKUP(A4,table09,2,0),""), IFERROR(VLOOKUP(A4,table10,2,0),""), IFERROR(VLOOKUP(A4,table11,2,0),""), IFERROR(VLOOKUP(A4,table12,2,0),"") ) 

每一条线都可以正常工作,但平均值总会产生#Value! 如果在许多表格之一中找不到该值,则会出错。 如果没有findIFERROR返回我“”。

我应该把什么,而不是""在IFERROR领域,以平均工作?

  • 将其replace为0将计数值并降低平均值,不应该这样做

谢谢

我对罗恩的build议感兴趣。
正如你在他的回答中所评论的那样,你需要制作120个帮手专栏。
在我看来,你只需要一个12×10的辅助细胞matrix。
而你只需要一个公式。

考虑这个简单的示例数据:

在这里输入图像描述

您正在查找所有3个表中Data1的平均值(Value1和Value2),如图所示。
所以就像看三个表格,每列有两列。
罗恩的build议,将需要6个不同的配方助手列。

这是我的build议。
让我们创build一个辅助matrix,如下所示:

在这里输入图像说明

我们使用下面的公式来创buildmatrix:

=IFERROR(VLOOKUP(A2,INDIRECT({"Table1","Table2","Table3"}),{2;3},0),"")

这是一个数组公式

首先selectD7:F8 (你的matrix),然后点击公式栏并input公式。
使用Ctrl + Shift + Enter将其input为数组公式

检查matrix,它返回我们需要的所有值:

在这里输入图像说明

它返回""为未find的值。
一旦辅助matrix完成,你可以简单地把:

=AVERAGE(D7:F8)
=AVERAGE(matrix) (如果你想为你的matrix创build一个命名的范围

B2基于我们的样本数据布局。 结果将是3。
HTH。 这真的取决于你更容易设置。

我不能提供一种方法让Average或其堂兄弟忽略这样的列表中的错误(如果它是一个值的范围,包括erros,那么它可以做…)

作为替代方法,使用“Sum(…)/ Count(…)”方法(仅为简洁起见,前两个表)

 =SUM( IFERROR(VLOOKUP(A4,Table1,2,0),), IFERROR(VLOOKUP(A4,Table2,2,0),) ) / SUM( ISNUMBER(VLOOKUP(A4,Table1,2,0)), ISNUMBER(VLOOKUP(A4,Table2,2,0)) ) 

不要将所有这些IFERROR(VLOOKUP …函数用作AVERAGE函数中的参数,而是将每个单元放入一个单独的单元格中,然后在AVERAGE函数中引用该范围。

例如:

 =AVERAGE(F1:F10) 

哪里

 F1: IFERROR(VLOOKUP(A4,table01,2,0),"") F2: IFERROR(VLOOKUP(A4,table02,2,0),"") 

等等。

从帮助AVERAGEfunction:

如果范围或单元格引用参数包含文本,逻辑值或空单元格,则忽略这些值; 但是,包含值为零的单元格。

错误值的参数或不能转换为数字的文本会导致错误。