Excel中计算A列数值差值小于2的邻近值平均值(解决#SPILL!错误)
解决Excel计算差值小于2的数值平均值的#SPILL!错误问题
错误原因
你使用的=AVERAGEIF(A:A,ABS((A:A)-A9)<2,A:A)触发#SPILL!错误,核心原因是AVERAGEIF的条件参数不支持这种数组形式的比较逻辑,同时整列引用容易引发动态数组的溢出冲突。
正确公式写法
适用于Excel 365/2021(支持动态数组)
在B2单元格输入以下公式,回车后会自动向下溢出填充所有结果,无需手动下拉:
=AVERAGE(FILTER(A:A, ABS(A:A - A2) < 2))
如果A列存在空白单元格,建议把A:A替换成实际的数据范围(比如A2:A100),避免空白值干扰计算结果。
适用于旧版Excel(无动态数组支持)
在B2单元格输入公式后,按下Ctrl+Shift+Enter(数组公式专属输入快捷键),再下拉填充到其他行:
=AVERAGE(IF(ABS(A:A - A2) < 2, A:A))
同样推荐用具体数据范围替代A:A,能大幅提升计算效率。
逻辑说明
上述公式会遍历A列所有数值,筛选出与当前行A列数值的差值绝对值小于2的所有值,再计算这些值的平均值,完全匹配你的需求。
内容的提问来源于stack exchange,提问作者Ryan Schultz
相关产品推荐
相关产品推荐

