【问题标题】:How to exclude zero entry from a dynamic formula (SUBTOTAL + SUMPRODUCT) in excel如何从excel中的动态公式(SUBTOTAL + SUMPRODUCT)中排除零条目
【发布时间】:2017-04-24 22:20:13
【问题描述】:

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

这是期望值的截图。

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

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

这是我使用的公式。

  1. F3 = IFERROR(SUBTOTAL(1,F5:F9),0)
  2. G3 = IFERROR(SUMPRODUCT(SUBTOTAL(2,OFFSET(F5:F9,ROW(F5:F9)-MIN(ROW(F5:F9)),,1))*(G5:G9*F5:F9) )/小计(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(SUBTOTAL(9,OFFSET(G5:G9,ROW(G5:G9)-MIN(ROW(G5:G9)),,1)),SUBTOTAL(9,OFFSET(F5:F9,ROW (F5:F9)-MIN(行(F5:F9)),,1))))^2)/(小计(9,F5:F9)*(小计(9,F5:F9)-1))) ^(1/2),0)

我知道问题出在 F5:F9 的某个地方,因为使用的除数是 0

【问题讨论】:

  • 您需要确定H3 公式的哪一部分导致被零除。整体调试太复杂了。您可以通过分成几部分并将每个部分放在不同的单元格中来调试它。一旦您确定了 #DIV/0 部分,您就可以制定在出现错误时要替换该部分的内容。
  • @A.S.H 您好,再次感谢您的提示,我设法找出了 H3 公式中的问题所在,它应该是粗体文本。如果自己解决,我会发布我的答案。 :)

标签: excel dynamic excel-formula


【解决方案1】:

您在代码中怀疑的部分涉及除以分母,而分母恰好是分子中的一个因子。您可以通过简化该分数来避免除以零。

((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

希望这会有所帮助。

【讨论】:

  • 我设法通过使用 IFERROR 解决它失败的部分并将其作为公式数组输入。
  • 再一次,您的解决方案要好得多,我没有想到这一点。看来我有很多简化工作要做。谢谢你启发我!
  • @quinekxi 是的,最好简化所有分数。很高兴帮助:)
  • 抱歉,您能解释一下为什么 (G5:G9*F5:F9)^2 不起作用吗?
  • 它“有效”,但如果会产生不同的结果。我们消除了分母F5:F9,因此我们将分子的每一项除以F5:F9,因此上述项变为(G5:G9^2*F5:F9)
猜你喜欢
  • 2013-05-10
  • 2021-10-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-08-27
  • 2022-06-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多