如何从excel中的动态公式(SUBTOTAL + SUMPRODUCT)中排除零输入

时间:2017-04-24 22:20:14

标签: excel dynamic excel-formula

我正在制定一个公式来获得标准偏差。它一直工作,直到我遇到零值,结果为 #DIV / 0!

这是期望值的屏幕截图。

enter image description here

然而,当我使用我的公式时,游戏时间SD返回 0

如果F列中的值为零,如何在计算中将其排除?我尝试了 IF(F5:F9<> 0),但它不起作用。

enter image description here

这是我使用的公式。

  1. F3 = IFERROR(SUBTOTAL(1,F5:F9),0)
  2. G3 = IFERROR(SUMPRODUCT(小计(2,OFFSET(F5:F9,行(F5:F9)-MIN(行(F5:F9)),1))*(G5:G9 * F5:F9) )/ SUBTOTAL(9,F5:F9),0)
  3. H3 = IFERROR(((SUBTOTAL(9,F5:F9)*(SUMPRODUCT(SUBTOTAL(2,OFFSET(F5:F9,ROW(F5:F9)-MIN(ROW(F5:F9)),, 1 ))* 的((H5:H9 ^ 2 * F5:F9 *(F5:F9-1)+(G5:G9 * F5:F9)^ 2)/ F5:F9 )))< /强> - (SUMPRODUCT(小计(9,OFFSET(G5:G9,ROW(G5:G9)-MIN(ROW(G5:G9)),, 1)),次全(9,OFFSET(F5:F9,ROW (F5:F9)-MIN(ROW(F5:F9)),, 1))))^ 2)/(小计(9,F5:F9)*(小计(9,F5:F9)-1))) ^(1/2),0)
  4. 我知道问题出现在 F5:F9 中,因为使用的除数是

1 个答案:

答案 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

希望这有帮助。