可使用AVERAGEIF函数排除0值求平均,公式为=AVERAGEIF(区域,"0");或嵌套IF与AVERAGE(需Ctrl+Shift+Enter);或FILTER与AVERAGE组合(仅Excel 365/2021);亦可预处理数据至辅助列再求平均。

如果您在Excel中需要计算一组数据的平均值,但希望自动忽略其中的0值,则可以使用AVERAGEIF函数实现条件平均。以下是具体操作方法:
一、使用AVERAGEIF函数排除0值
AVERAGEIF函数可根据指定条件对区域中满足条件的数值求平均,通过设置条件为“不等于0”,即可跳过所有0值参与计算。
1、选中目标单元格,输入公式:=AVERAGEIF(数据区域,"0")。
2、将“数据区域”替换为实际数值所在的单元格范围,例如B2:B10。
3、按Enter键确认,函数将返回该区域内非零数值的算术平均值。
二、结合AVERAGE与IF函数嵌套(数组公式方式)
此方法适用于需更灵活控制筛选逻辑的场景,利用IF函数生成布尔数组,再由AVERAGE计算非零值均值。
1、在目标单元格输入公式:=AVERAGE(IF(数据区域0,数据区域))。
2、将“数据区域”替换为实际引用,如C2:C15。
3、在Excel 2019及更早版本中,需按Ctrl+Shift+Enter组合键完成输入,使公式显示为大括号{}包裹形式。
4、Excel 365或Excel 2021用户可直接按Enter键执行动态数组运算。
三、借助FILTER与AVERAGE函数组合(Excel 365/2021专属)
FILTER函数可提取满足条件的子数组,再交由AVERAGE处理,语法简洁且无需数组确认。
1、在目标单元格输入公式:=AVERAGE(FILTER(数据区域,数据区域0))。
2、将“数据区域”替换为实际数值范围,例如D2:D20。
3、按Enter键确认,函数自动过滤掉0值并计算剩余数值的平均值。
四、预处理数据后使用常规AVERAGE函数
通过辅助列标记非零值,再对辅助列进行筛选或引用,实现间接排除0值的效果。
1、在空白列(如E列)第一行输入公式:=IF(B20,B2,""),其中B2为原始数据首单元格。
2、向下填充该公式至对应数据末行。
3、在结果单元格中输入:=AVERAGE(E2:E10),仅对含数值的单元格求平均。










