在单元格中产生0的公式,但是在函数窗口中它给出了正确的答案

我正在试图从一个人口中计算标准偏差,并使用STDEV.P函数来做到这一点。 但是当我把它插入一个单元格时,得到的答案是0.当我查看函数窗口时,它给出了一个(更合理的)答案(7600左右)。

=STDEVPA(IF(Tests!H:H = "Motion",Tests!D:D)) 

我怎样才能确保细胞也给出了正确的答案

样本数据:

 24 1.46791E+12 1.46791E+12 31544 FALSE TRUE FALSE Still 2 1 3 2 6 1 1.46729E+12 1.46729E+12 26515 FALSE FALSE TRUE Motion 1 1 1 2 4 

您不应该使用数组公式1使用完整的列引用。 您的样本公式正在计算1,048,576行的两列。

以下内容将把范围降低到所需的最小行数。 数据从第2行开始。

 =STDEVPA(IF(Tests!H2:INDEX(Tests!H:H, MATCH(1E+99,D:D ))="Motion", Tests!D2:INDEX(Tests!D:D, MATCH(1E+99,D:D )))) 

请记住完成CSE¹。 一个匹配的行将返回零。


¹ 数组公式需要使用Ctrl + Shift + Enter 来完成。 如果input正确,Excel将花括号包括在公式中(例如{} )。 你不要自己input大括号。 一旦正确input第一个单元格,就可以像其他任何公式一样向下或向右填充或复制它们。 尝试和减less您的全列引用范围更接近代表实际数据的范围。 数组公式将计算周期对数化,所以最好将参考范围缩小到最小。 有关更多信息,请参阅数组公式的示例 。