首页 > 解决方案 > excel中忽略NA值的平均值

问题描述

我有一列 H 的温度值,我想创建一个新的列 T,列 A 值的平均值,步长为 6。我使用的命令是这个:

=AVERAGE(OFFSET($H$2;(ROW()-ROW($T$2))*6;;6;))

问题是即使在 H 列中有一个缺失值,它也会返回 #value!我怎样才能克服这个问题,而不是收到一条错误消息来获取其余温度值的平均值?

标签: excelaverageoffset

解决方案


我倾向于尽可能避免使用不稳定的函数,如 OFFSET 等,而尽可能使用非易失性索引,因此 H2:H7 变为,

INDEX(H:H,(ROW(1:1)-1)*6+2):INDEX(H:H,(ROW(1:1)-1)*6+7)

AVERAGE 需要一个数组公式,以避免在处理包含错误的范围时导致错误。AGGREGATE 在没有数组公式的情况下生成错误控制处理。

=AVERAGE(IF(ISNUMBER(INDEX(H:H,(ROW(2:2)-1)*6+2):INDEX(H:H,(ROW(2:2)-1)*6+7)),INDEX(H:H,(ROW(2:2)-1)*6+2):INDEX(H:H,(ROW(2:2)-1)*6+7)))
'alternate
=AGGREGATE(1, 7, INDEX(H:H,(ROW(1:1)-1)*6+2):INDEX(H:H,(ROW(1:1)-1)*6+7))

用 ctrl+shift+enter 完成 INDEX 公式,而不是直接输入。AGGREGATE 正常输入。


推荐阅读