我正在制定一个公式来获得标准偏差。它一直工作,直到我遇到零值,结果为 #DIV / 0!。
这是期望值的屏幕截图。
然而,当我使用我的公式时,游戏时间SD返回 0 。
如果F列中的值为零,如何在计算中将其排除?我尝试了 IF(F5:F9<> 0),但它不起作用。
这是我使用的公式。
我知道问题出现在 F5:F9 中,因为使用的除数是零
答案 0 :(得分:2)
您在代码中怀疑的部分涉及除以分子中恰好是因子的分母。您可以通过简化该分数来避免除以零。
((H5:H9^2*F5:F9*(F5:F9-1)+(G5:G9*F5:F9)^2)/F5:F9)))
可以缩减为
(H5:H9^2*(F5:F9-1) + (G5:G9^2*F5:F9))
导致公式(第3行修改)
=IFERROR(((SUBTOTAL(9,F5:F9)*
(SUMPRODUCT(SUBTOTAL(2,OFFSET(F5:F9,ROW(F5:F9)-MIN(ROW(F5:F9)),,1))*
(H5:H9^2*(F5:F9-1) + (G5:G9^2*F5:F9))))-
(SUMPRODUCT(SUBTOTAL(9,OFFSET(G5:G9,ROW(G5:G9)-
MIN(ROW(G5:G9)),,1)),SUBTOTAL(9,OFFSET(F5:F9,ROW(F5:F9)-
MIN(ROW(F5:F9)),,1))))^2)/(SUBTOTAL(9,F5:F9)*
(SUBTOTAL(9,F5:F9)-1)))^(1/2), 0)
在没有封闭IFERROR,
的测试中,我可以将某些行设置为零并获取值。只有当平方根小计为负数(逻辑上不应该发生)时才是结果#NUM
。
希望这有帮助。