如何在Excel中从dynamic公式(SUBTOTAL + SUMPRODUCT)中排除零条目

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

这是期望值的截图。

在这里输入图像说明

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

如果F列中的值为零,如何在计算中排除它? 我试图IF(F5:F9 <> 0),但它不会工作。

在这里输入图像说明

这是我使用的公式。

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

我知道这个问题在F5:F9的某处,因为使用的除数是

你在代码中涉及的部分包括除以一个恰好是分子因素的分母。 您可以通过简化该分数来避免零分割。

 ((H5:H9^2*F5:F9*(F5:F9-1)+(G5:G9*F5:F9)^2)/F5:F9))) 

可以减less到

 (H5:H9^2*(F5:F9-1) + (G5:G9^2*F5:F9)) 

导致公式(第三行修改)

 =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,testing中IFERROR,我可以将一些行设置为零并获取值。 只有平方根小计为负数(逻辑上不应该发生)才是#NUM的结果。

希望这可以帮助。