2017-04-24 2 views
1

auszuschließen Ich arbeite an einer Formel, um die Standardabweichung zu erhalten. Es hat nicht funktioniert, bis ich einen Nullwert vorfand, der das Ergebnis in # DIV/0 macht!.Wie Nulleintrag von einer dynamischen Formel (SUBTOTAL + SUMPRODUCT) in Excel

Dies ist der Screenshot des erwarteten Werts.

enter image description here

Allerdings, wenn ich meine Formel verwendet, kehrte die Spielzeit SD .

Wie schließe ich es in der Berechnung aus, wenn der Wert in Spalte F Null ist? Ich habe versucht IF (F5: F9 <> 0) aber es wird nicht funktionieren.

enter image description here

Dies ist die Formel I verwendet.

  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))/SUBTOTAL (9, F5: F9), 0)
  3. H3 = FEHLER (((SUBTOTAL (9, F5: F9) * (SUMMPRODUKT (SUBTOTAL (2, OFFSET (F5: F9, REIHE (F5: F9) -MIN (REIHE (F5: F9)) ,, 1)) * ((H5: H9^2 * F5: F9 * (F5: F9-1) + (G5: G9 * F5: F9)^2)/F5: F9))) - (SUMMENPRODUKT (SUBTOTAL (9, OFFSET (G5: G9, REIHE (G5: G9) -MIN (ZEILE (G5: G9)) ,, 1)), UNTERTOTAL (9, OFFSET (F5: F9, ZEILE (F5: F9) -MIN (ZEILE (F5: F9)) ,, 1))))^2)/(SUBTOTAL (9, F5: F9) * (UNTERTOTAL (9, F5: F9) -1)))^(1/2), 0)

Ich weiß, dass das Problem irgendwo in F5 ist: F9, da der Divisor verwendet wird, ist Null

+0

Sie müssen identifizieren, welcher Teil Ihrer 'H3' Formel die Division durch Null verursacht. Es ist zu kompliziert, um als Ganzes zu debuggen. Sie können es debuggen, indem Sie Teile teilen und jedes Teil in eine andere Zelle setzen. Sobald Sie diesen "# DIV/0" -Teil identifiziert haben, können Sie im Fehlerfall formulieren, was Sie ersetzen wollen. –

+0

@ A.S.H hi nochmal, danke für den Tipp, irgendwie gelang es mir herauszufinden, wo das Problem in der _H3_ Formel liegt, es sollte der fett gedruckte Text sein. Ich werde meine Antwort posten, wenn ich sie selbst löse. :) – quinekxi

Antwort

2

Der Teil, den Sie im Code Verdacht beinhaltet durch einen Nenner zu teilen, daß ein Faktor sein geschieht im Zähler. Sie können eine Division durch Null vermeiden, indem Sie diesen Bruch vereinfachen.

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

ohne die umschließenden IFERROR,

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

Resultierende in der Formel (3. Zeile geändert)

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

In meinen Tests zu

reduziert werden ich einige Zeilen einstellen könnte zu Null und Werte erhalten. Nur wenn die Quadratwurzelzwischensumme negativ war (was logischerweise nicht passieren sollte), war das Ergebnis #NUM.

Hoffe, das hilft.

+0

Ich habe es aufgelöst, indem ich IFERROR zu dem Teil verwendet habe, wo es fehlgeschlagen ist, und es als Formelarray eingegeben habe. – quinekxi

+1

Auch hier ist Ihre Lösung viel besser, daran habe ich nicht gedacht. Es scheint, ich habe viel zu vereinfachen. Danke, dass du mich erleuchtet hast! – quinekxi

+1

@quinekxi Ja, es ist besser, alle Fraktionen zu vereinfachen. Froh, zu helfen :) –

Verwandte Themen