我有一列H值的温度,我想创建一个新的T列,其中A列的平均值为6。我使用的命令是这样的:
=AVERAGE(OFFSET($H$2;(ROW()-ROW($T$2))*6;;6;))
问题在于,即使H列中缺少一个值,它也会返回#value! 我该如何克服这个问题,而不是得到一条错误消息以获取其余温度值的平均值?
答案 0 :(得分:2)
我倾向于尽可能避免使用诸如OFFSET之类的易失性函数,而建议使用非易失性INDEX,这样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。