跳过任何NA值并取平均值

时间:2015-10-19 18:48:21

标签: excel

我在前1-6个单元格中有以NA开头的数据列(取决于哪个列 - 例如,参见图片)。

Data

我想要一个公式,从顶部搜索第一个非“NA”单元格,并获取最后一个NA之后的六个单元格的平均值。

2 个答案:

答案 0 :(得分:1)

对于B栏,您可以使用以下公式:

=AVERAGE(OFFSET(B1,MATCH(TRUE,ISNUMBER(B1:B999),)-1,,6))
  

重要提示:这是一个数组公式,必须使用 Ctrl + Shift + 输入确认。< / p>

更改B以平均其他列。

注意:如果您的数据在第999行的工作表中向下延伸,则将公式中的999更改为合适的行号。

答案 1 :(得分:1)

如果你只想要前6个单元格,并且NA可以从标题中的1-6个单元格下来,我建议你使用OFFSET创建一个只覆盖该区域的动态范围 - 然后你可以采用AVERAGE那些细胞。

OFFSET的工作原理是从给定的点开始,然后向上/向下移动,向左/向右移动给定的数字,然后移动给定的宽度/高度。在您的情况下,假设您想要一个公式来计算A列中的单元格,从最后一个NA&amp;试用6个单元格,试试这个[假设标题在第2行,这个单元格在A100或者数据的底部,然后可以向右拖动]:

=AVERAGE(OFFSET(A3, COUNTIF(A3:A99,"NA"),0,6,1))

此OFFSET公式首先假定A2的起始点,并使用COUNTIF函数查找包含NA的行数 - 这是该范围内需要开始的行数。然后它向右移动0列,并且行高为6行,宽度为1列。该范围的AVERAGE应该只计算最后一次存在NA后的6行。