Liebes Forum,
momentan arbeite ich an einem Code, der mir für mehrere Messwerte aus unterschiedlichen Datenreihen den Mittelwert und die Standardabweichung berechnen soll. Dazu speichere ich die jeweiligen Werte in Variablen. Allerdings soll er das nicht immer für alle machen, sondern nur für die Datenreihen, die entsprechend markiert sind, in meinem Fall mit einer 1 (diese Markierung bezeichne ich mal als Counter). Die restlichen Werte soll der Code, auch wenn sie vielleicht vorliegen, nicht mit einbeziehen. Momentan trickse ich und missbrauche Zellen als Variablen, um die Funktionen
{=MITTELWERT(WENN(E9:E13>0;F9:F13))} bzw.
{=STABWN(WENN(E9:E13>0;F9:F13))}
benutzen zu können. Allerdings macht das die Auswertung meiner recht großen Datenmengen sehr langsam und ich würde diesen Schritt gerne direkt im Code durchführen.
Für die Berechnung des Mittelwertes habe ich bereits die AverageIf-Funktion gefunden. Gibt es zur Berechnung der Standardabweichung eine entsprechende Gleichung im VBA-Code?
Daneben ergibt sich für mich aber noch ein zweites Problem. Da die Counter der Datenreihen sich auch während der Auswertung verändern können, also zum Beispiel Reihe 2 mal mit ausgewertet wird (Counter = 1) und mal nicht (Counter = 0) - was sich für jeden Schritt neu aus dem Code ergibt - muss ich die Counter als Variablen irgendwie in diese Averageif-Funktion bekommen und kann sie nicht einfach festsetzen. Die Funktion will allerdings eine Range für die Abfrage haben.
Meine Frage wäre nun, ob es eine Möglichkeit gibt die Counter in einer Range, bzw. einem Array zu verpacken und dann in die Funktion einzubinden und die gesamte Berechnung im Code ablaufen zu lassen. Bei meinen bisherigen Nachforschungen konnte ich leider nichts Hilfreiches dazu finden.
Ich bedanke mich schonmal im Voraus für alle hilfreichen Bemühungen.
momentan arbeite ich an einem Code, der mir für mehrere Messwerte aus unterschiedlichen Datenreihen den Mittelwert und die Standardabweichung berechnen soll. Dazu speichere ich die jeweiligen Werte in Variablen. Allerdings soll er das nicht immer für alle machen, sondern nur für die Datenreihen, die entsprechend markiert sind, in meinem Fall mit einer 1 (diese Markierung bezeichne ich mal als Counter). Die restlichen Werte soll der Code, auch wenn sie vielleicht vorliegen, nicht mit einbeziehen. Momentan trickse ich und missbrauche Zellen als Variablen, um die Funktionen
{=MITTELWERT(WENN(E9:E13>0;F9:F13))} bzw.
{=STABWN(WENN(E9:E13>0;F9:F13))}
benutzen zu können. Allerdings macht das die Auswertung meiner recht großen Datenmengen sehr langsam und ich würde diesen Schritt gerne direkt im Code durchführen.
Für die Berechnung des Mittelwertes habe ich bereits die AverageIf-Funktion gefunden. Gibt es zur Berechnung der Standardabweichung eine entsprechende Gleichung im VBA-Code?
Daneben ergibt sich für mich aber noch ein zweites Problem. Da die Counter der Datenreihen sich auch während der Auswertung verändern können, also zum Beispiel Reihe 2 mal mit ausgewertet wird (Counter = 1) und mal nicht (Counter = 0) - was sich für jeden Schritt neu aus dem Code ergibt - muss ich die Counter als Variablen irgendwie in diese Averageif-Funktion bekommen und kann sie nicht einfach festsetzen. Die Funktion will allerdings eine Range für die Abfrage haben.
Meine Frage wäre nun, ob es eine Möglichkeit gibt die Counter in einer Range, bzw. einem Array zu verpacken und dann in die Funktion einzubinden und die gesamte Berechnung im Code ablaufen zu lassen. Bei meinen bisherigen Nachforschungen konnte ich leider nichts Hilfreiches dazu finden.
Ich bedanke mich schonmal im Voraus für alle hilfreichen Bemühungen.