2017-04-24 445 views
1

我正在研究一個公式以獲取標準偏差。它一直工作,直到我遇到一個零值,結果爲#DIV/0!如何從excel中的動態公式(SUBTOTAL + SUMPRODUCT)中排除零條目

這是預期值的屏幕截圖。

enter image description here

然而,當我用我的公式,比賽時間SD返回。

如果F列中的值爲零,如何在計算中排除它?我嘗試如果(F5:F9 <> 0)但它不會工作。

enter image description here

這是所用式I。

  1. F3 = IFERROR(小計(1,F5:F9),0)
  2. G3 = IFERROR(SUMPRODUCT(小計(2,OFFSET(F5:F9,ROW(F5:F9)-MIN(ROW (F5:F9)),, 1))*(G5:G9 * F5:F9))/ SUBTOTAL(9,F5:F9),0)
  3. H3 = IFERROR(((SUBTOTAL(9,F5:F9) )((H5:H9^2 * F5:F9)*(SUMPRODUCT(小數(2,偏移量(F5:F9,行F5:F9)-MIN(ROW(F5:F9)),1)* *(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)/(SUBTOTAL(9,F5:F9)*(SUBTOTAL(9,F5:F9)-1)))^(1/2),0)

我知道問題出在F5地方:F9,因爲所使用的除數是

+0

您需要確定'H3'公式的哪一部分導致零除。作爲一個整體進行調試太複雜了。您可以通過分割部分並將每個部分放在不同的單元格中進行調試。一旦你確定了'#DIV/0'部分,你就可以在出現錯誤的情況下制定你想要替換的部分。 –

+0

@ A.S。嗨,再次感謝提示,我以某種方式設法找出問題在_H3_公式中的位置,應該是粗體文本。如果自己解決,我會發布我的答案。 :) – quinekxi

回答

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

在式(第三線改性)

=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

希望這會有所幫助。

+0

我設法解決它通過使用IFERROR到它失敗的部分,並輸入它作爲公式數組。 – quinekxi

+1

再一次,你的解決方案要好得多,我沒有想到這一點。看來我有很多簡化的事情要做。感謝您的啓發! – quinekxi

+1

@quinekxi是的,最好簡化所有分數。很高興幫助:) –