Excel中3日移动平均计算:排除含零值的三日数据集
在Excel中计算排除含零值的3日移动平均
这里提供两种实用解法,适配不同Excel版本:
方法1:兼容所有Excel版本(基础公式)
假设逐日降水数据在A列(A1为表头,数据从A2开始),要在B列生成符合要求的移动平均:
- 选中B3单元格(第3行开始才有完整的3组数据),输入公式:
=IF(COUNTIF(A1:A3,0)=0, AVERAGE(A1:A3), "") - 按住单元格右下角填充柄,向下拖动批量计算即可。
公式逻辑:
COUNTIF(A1:A3,0):统计A1到A3范围内0值的数量- 当统计结果为0(即3天数据无零值),执行
AVERAGE(A1:A3)计算移动平均;否则返回空值(可将""替换为"含零值跳过"这类提示文本)
方法2:适配Excel 365/2021及以上版本(直观写法)
如果你的Excel支持逻辑函数简化写法,可用AND直接判断3天数据是否均非零:
- 在B3单元格输入:
=IF(AND(A1<>0, A2<>0, A3<>0), AVERAGE(A1:A3), "") - 下拉填充即可。
公式逻辑:
AND(A1<>0, A2<>0, A3<>0):同时检查A1、A2、A3三个单元格都不为0- 满足条件则计算平均,否则返回空值
示例效果
假设A列数据如下:
| A列(降水) | B列(移动平均) |
|---|---|
| 5 | |
| 3 | |
| 4 | 4 |
| 0 | |
| 6 | |
| 7 | |
| 8 | 7 |
内容的提问来源于stack exchange,提问作者Farhan
相关产品推荐
相关产品推荐

