忽略Excel中命名范围的特定值

时间:2013-05-29 15:19:24

标签: excel excel-vba excel-formula vba

我有一个命名范围,由动态值组成,我需要在平均之前省略零。我该怎么做呢?

myRange = (1,3,4,0,4,3,5,0,1)
AVERAGE(myRange) equals 2.333

所以当我运行= AVERAGE(myRange)时,我没有得到预期的结果。

我想要删除零,以便最终得到以下内容:

noZeroes(myRange) = (1,3,4,4,3,5,1)
AVERAGE(myRange) equals 3

有什么建议吗?

2 个答案:

答案 0 :(得分:2)

您可以在Excel 2007中使用AVERAGEIF(range,criteria,average_range)

Range是一个或多个要平均的单元格,包括数字或名称,数组或包含数字的引用。

Criteria是数字,表达式,单元格引用或文本形式的标准,用于定义平均哪些单元格。例如,标准可以表示为32,“32”,“> 32”,“苹果”或B4。

Average_range是要平均的实际细胞集。如果省略,则使用范围。

您的解决方案:

=AVERAGEIF(myRange,">0") = 3

OR

=AVERAGEIF(myRange,"<>0") = 3

答案 1 :(得分:1)

使用此公式平均范围内的所有非零值:

=SUM(myRange)/COUNTIF(myRange,"<>0")