Veronica知道如何使用AVERAGE函数来确定一系列值的平均值。但是,她希望根据该范围内的非零值确定平均值。

最适合此目的的工作表函数是使用AVERAGEIF。

您可以按以下方式使用它:

=AVERAGEIF(A1:A50,">0")

该函数平均仅包含那些值大于零的单元格。如果还希望排除空白单元格,则应使用AVERAGEIFS函数。此函数与AVERAGEIF的不同之处在于,它允许您指定多个条件以指示要平均的像元。

=AVERAGEIFS(A1:A50,A1:A50,">0",A1:A50,"<>""")

当然,如果您想解决“老派”问题(不使用AVERAGEIF或AVERAGEIFS),则有几种方法可以进行。首先是要记住如何计算平均值。它定义为值范围的总和除以该范围中的项目数。因此,您可以通过简单地确保分母(被您除以的数字)不包含任何零值来计算排除平均值。例如:

=SUM(A1:A50)/COUNTIF(A1:A50,"<>0")

此方法使用COUNTIF函数来确定范围(A1:A50)中不包含零的单元格数。如果此范围不仅包含零,还包含空白单元格,并且您不希望将空白单元格计入结果,则需要使用更复杂的公式:

=SUM(A1:A50)/(COUNTIF(A1:A50,"<>0")-COUNTBLANK(A1:A50)- (COUNTA(A1:A50)-COUNT(A1:A50)))

COUNTIF函数对未显式求值为0的单元格进行计数,但它将对空白和文本单元格进行计数。 COUNTBLANK项调整空白单元格,COUNTA和COUNT之间的差异调整包含文本的单元格的总数。

当然,您也可以使用数组公式进行计算:

=AVERAGE(IF(A1:A50<>0,A1:A50))

请记住,需要使用组合键Ctrl + Shift + Enter输入数组公式。此数组公式还排除空格或包含文本的单元格。

总而言之,使用AVERAGEIF或AVERAGEIFS函数更加容易。

您什么时候不想使用它们?当您需要与Excel 2007之前的Excel版本的用户共享工作簿时(这是将功能添加到Excel的时间。)

_ExcelTips_是您进行经济高效的Microsoft Excel培训的来源。

本技巧(7729)适用于Microsoft Excel 2007、2010、2013和2016。您可以在此处为Excel的较旧菜单界面找到此技巧的版本:

链接:/ excel-An_Average_that_Excludes_Zero_Values [不包括零值的平均值]。