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

时间:2016-07-10 09:31:26

标签: excel excel-formula

我试图从群体中计算标准偏差并使用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 个答案:

答案 0 :(得分:2)

您不应该使用数组公式为¹的完整列引用。您的示例公式计算了两列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↵完成。如果输入正确,Excel将公式包装在大括号中(例如 {} )。您不要自己键入大括号。一旦正确进入第一个单元格,就可以像任何其他公式一样向下或向右填充或复制它们。尝试并减少对更接近表示实际数据范围的范围的全列引用。数组公式以对数方式计算计算周期,因此将参考范围缩小到最小值是一种好习惯。有关详细信息,请参阅Guidelines and examples of array formulas