标准偏差,如果在 excel

Standard deviation and if in excel

我在 excel 中的一个公式有问题。如果该值未被判断为另一列中的离群值,则该公式应该return单元格范围的标准偏差。

我的公式是STDAFV.S(HVIS(R2:R15<>"Outlier";P2:P15;"")) 问题是它 return 是一个错误的值。在下面的示例中,公式 return 是 0.010729 的错误值,应该是 0.001652.

我很清楚,这是一个数组公式,所以我按 Ctrl+Shift+输入。所以这不是问题!

有人知道哪里出了问题吗?

Col P | Col R

0.0215|
0.0207|
0.0233|
0.0213|
0.0187|
0.0917| Outlier

当我在你的 OP 包括 7 个空单元格 的 6 个值中计算 STDDEV 时,我得到与你相同的结果,如你的公式 (P2:P15)

通过这样做,我将 value = 0 添加到集合中 7 次,这将影响 STDDEV 公式中的平均值和除数 (N-1)。

如果我将范围从第 2 行限制到第 7 行...实际包含数据的那些,我会得到您期望的结果。

编辑:

要避免每次都重新定义范围的空单元格问题,您可以使用 =COUNT()=OFFSET() 函数 ...

您的值位于一个不断增长的列表中,但之间没有空单元格。所以单元格数(=行数)是=COUNT(B2:B1000)

的结果

您现在的有效数据范围是 "from B2 and [count result] cells down" ... 即 =OFFSET(B2;0;0;COUNT(B2:B1000);1)

同样,您现在的有效评论范围是"from C2 and [count result in B] cells down" ...即=OFFSET(C2;0;0;COUNT(B2:B1000);1)

将所有这些......与B2:B15中的数据和C2:C15中的注释相结合,数组公式变为

{ =STDEV.S(IF(OFFSET(C2;0;0;COUNT(B2:B15);1)<>"Outlier";OFFSET(B2;0;0;COUNT(B2:B15);1))) }

哒哒哒!