2016-04-07 20 views
1

Ich baue ein Werkzeug zur Vorhersage von Methoden in Excel. Ich muss Excel für diese spezielle Aufgabe verwenden. Ich muss verschiedene Arten von Fehlern vergleichen (MAE-mittlerer absoluter Fehler, RMSE-root mittlerer quadratischer Fehler, usw.), um zu zeigen, welche Methode die beste Arbeit macht.Mittelwertbildung der Absolutwerte der Daten in Excel, Ignorieren leerer Zellen ("")

Ich habe die Fehler (Residuen) wie folgt organisiert:

Column 1 Column 2 
    -0.5  1.2 
    1.5  -1 
    ""  ""   # <==== here is what is causing the issue 
    0.2  1.5 

Das Problem ist, dass manchmal die Datensätze nicht vollständig aufgefüllt sind, und ich habe in ‚wenn‘ Aussagen gebaut, dass return „“ (wie leere eine Zelle, wie ich von einer 'if'-Anweisung erhalten kann, wenn zu einem bestimmten Datum keine Aktivität vorliegt. Dies verursacht kein Problem bei der Berechnung des mittleren Fehlers oder RMSE oder in der Prognose.

habe ich versucht, die folgenden Formeln (mit Strg + Umschalt + Eingabe für Array Formeln):

=average(abs(DATA-RANGE)) 
=sum(abs(DATA-RANGE))/count(DATA-RANGE) # I calculated the count in another cell 

ich diese glauben würde funktionieren, wenn es nicht für die Zellen „“ (nach einer Lösung gefunden, enthaltend ein anderer Ort)

Irgendwelche Gedanken? Die Tabelle ist bereits groß, ich möchte dies tun, ohne neue Spalten zu erstellen (dh eine neue Spalte von ABS (DATA) zu erstellen, um den Durchschnitt von zu berechnen).

Ich möchte dies auch ohne VBA/Makros machen - es muss für Leute zugänglich sein, die nichts außer einfachen Excel-Formeln wissen.

Danke!

EDIT 1: Here I have tried both Scott and Tom's method with my data. Both work! I even tried removing some of the formulas that provide the "" (so that true blank spaces were there), and it did not return #VALUE in either method. The formula in the edit box is what is being used to calculate the errors. Much obliged!

+0

Ich weiß nicht, welche Antwort zu wählen, beide arbeiten! Ich nehme an, ich werde es Tom für die Verwendung von Nicht-CSE (Array) -Formel geben. – henrythedj

Antwort

3

Eine nicht-CSE Formel, die in ihnen arbeitet „mit leeren Zellen und Zellen enthalten =“ ist

=SUMPRODUCT(ABS(N(+A2:B5))*(A2:B5<>""))/COUNT(A2:B5) 

oder weil die Zellen, die leer sind oder Anführungszeichen die nicht dazu beitragen Summe,

=SUMPRODUCT(ABS(N(+A2:B5)))/COUNT(A2:B5) 

See this useful answer und auch this

enter image description here

+0

Guter Job, ich habe alles versucht außer mit '' '' '' '' '' '' in '0' zu verwandeln. Obwohl mit dem '+' ich glaube, das 'N()' wird nicht benötigt. –

+1

Danke! Es schien das '+' zu brauchen, um es als ein Array arbeiten zu lassen und das N(), um "" in 0 zu konvertieren, so zwei getrennte Dinge, soweit ich das beurteilen kann. –

2

Versuchen Sie, die folgende Matrixformel:

=AVERAGE(IF(A2:B5<>"",ABS(A2:B5))) 

Als eine Matrixformel mit Ctrl-Shift-Enter bestätigt werden muss. Wenn es richtig gemacht wird, legt Excel automatisch {} um die Formel.

![enter image description here

+0

Ich finde, dass der CSE funktioniert, wenn A1 etc. tatsächlich = "" enthält, aber der erste gibt #value! Fehler –

+0

@TomSharpe Sie sind richtig, lassen Sie mich daran arbeiten. –

+0

@TomSharpe Ich denke, dass in diesem Fall die einzige Antwort die CSE Array-Formel ist. Zumindest mit meinem begrenzten Wissen konnte ich keine SUPRODUCT() Arbeit machen. Es ist das ABS(), es mag keine leeren Zellen. –