Monday 16 January 2017

Excel Vba Einfach Gleitender Durchschnitt

Moving Average Dieses Beispiel lehrt, wie Sie den gleitenden Durchschnitt einer Zeitreihe in Excel berechnen. Eine Bewegung wird verwendet, um Unregelmäßigkeiten (Spitzen und Täler) zu glätten, um Trends leicht zu erkennen. 1. Erstens, werfen wir einen Blick auf unsere Zeitreihe. 2. Klicken Sie auf der Registerkarte Daten auf Datenanalyse. Hinweis: Klicken Sie hier, um das Analyse-ToolPak-Add-In zu laden. 3. Wählen Sie Verschiebender Durchschnitt aus, und klicken Sie auf OK. 4. Klicken Sie im Feld Eingabebereich auf den Bereich B2: M2. 5. Klicken Sie in das Feld Intervall und geben Sie 6 ein. 6. Klicken Sie in das Feld Ausgabebereich und wählen Sie Zelle B3 aus. 8. Zeichnen Sie ein Diagramm dieser Werte. Erläuterung: Da wir das Intervall auf 6 setzen, ist der gleitende Durchschnitt der Durchschnitt der letzten 5 Datenpunkte und der aktuelle Datenpunkt. Als Ergebnis werden Spitzen und Täler geglättet. Die Grafik zeigt eine zunehmende Tendenz. Excel kann den gleitenden Durchschnitt für die ersten 5 Datenpunkte nicht berechnen, da nicht genügend frühere Datenpunkte vorhanden sind. 9. Wiederholen Sie die Schritte 2 bis 8 für Intervall 2 und Intervall 4. Fazit: Je größer das Intervall, desto mehr werden die Spitzen und Täler geglättet. Je kleiner das Intervall ist, desto näher sind die gleitenden Mittelwerte bis zu den eigentlichen Datenpunkten. Custom Average Funktion Im Folgenden werden wir uns ein Programm in Excel VBA anschauen, das eine benutzerdefinierte Funktion erstellt, die den Mittelwert eines zufällig ausgewählten Bereichs ohne einen oder mehrere Werte berechnet Die Ausreißer sind und nicht gemittelt werden sollten. Benutzerdefinierte Funktionen müssen in einem Modul platziert werden. 1. Öffnen Sie den Visual Basic-Editor, und klicken Sie auf Einfügen, Modul. 2. Fügen Sie die folgende Codezeile hinzu: Funktion CUSTOMAVERAGE (rng Als Bereich, niedriger als Integer. Upper Als Integer) Der Name unserer Funktion ist CUSTOMAVERAGE. Der Teil zwischen den Klammern bedeutet, dass wir Excel VBA einen Bereich und zwei Integer-Variablen als Eingabe geben. Wir nennen unseren Bereich rng, eine Integer-Variable, die wir niedriger nennen, und eine Integer-Variable, die wir oben aufrufen, aber Sie können beliebige Namen verwenden. 3. Als nächstes deklarieren wir ein Range-Objekt und zwei Variablen vom Typ Integer. Wir rufen die Range-Objektzelle auf. Eine Integer-Variable nennen wir total und eine Integer-Variable, die wir count zählen. Dim-Zelle As Range, total As Integer. Count As Integer 4. Wir wollen jede Zelle in einem beliebig ausgewählten Bereich überprüfen (dieser Bereich kann beliebig groß sein). In Excel VBA können Sie dazu die For Each Next-Schleife verwenden. Fügen Sie die folgenden Codezeilen hinzu: Für jede Zelle In rng Hinweis: rng und Zelle sind zufällig hier ausgewählt, können Sie beliebige Namen verwenden. Denken Sie daran, diese Namen in den Rest des Codes zu verweisen. 5. Als nächstes prüfen wir für jeden Wert in diesem Bereich, ob er zwischen den beiden Werten (untere und obere) fällt. Wenn true, erhöhen wir die Gesamtzahl um den Wert der Zelle und wir erhöhen die Anzahl mit 1. Fügen Sie der Loop die folgenden Codezeilen hinzu. Wenn cell. Value gt niedriger und cell. Value lt upper Dann Gesamtzahl der cell. Value-Zähler 1 End If 6. Um das Ergebnis dieser Funktion (den gewünschten Durchschnitt) zurückzugeben, fügen Sie die folgende Codezeile außerhalb der Schleife hinzu. CUSTOMAVERAGE Gesamtzahl 7. Vergessen Sie nicht, die Funktion zu beenden. Fügen Sie die Zeile: 8. Nun können Sie diese Funktion wie jede andere Excel-Funktion verwenden, um den Mittelwert der Zahlen zu berechnen, die zwischen zwei Werten fallen. Als eine Prüfung können Sie alle Werte löschen, die kleiner als 10 und höher als 30 sind, und die Standard-Durchschnittsfunktion in Excel verwenden, um zu sehen, ob Excel denselben Durchschnitt berechnet wie unsere benutzerdefinierte durchschnittliche Funktion. Hinweis: Diese Funktion ist nur in dieser Arbeitsmappe verfügbar.


No comments:

Post a Comment