Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Berechnung std. Abweichung pro Std.

Berechnung std. Abweichung pro Std.
Michael
Hallo Experten,
ich hatte schon einen ähnlichen Beitrag in diesem Forum, muss die Frage aber neu Stellen, da es nicht die gewünschte Lösung gab (Danke an die vorherigen Vorschläge vorab). Anbei ist das Excel wie die Lösung aussehen sollte:
https://www.herber.de/bbs/user/81824.xlsm
Im Excel wird gezeigt wie die Lösung berechnet wird. Ich möchte am Ende im VBA Code nur den Mittelwert der in Spalte I1 gezeigt wird erhalten. Spalte D und H sind nur Nebenrechnungen. Dabei soll erstmal die relative Änderung berechnet werden im Makro (Spalte I) und dann die Standard Abweichung pro Std. und Tag (Spalte H). Am Ende wird der Mittelwert über die Std. Abweichungen gebildet (Spalte I). Unten ist mein VBA Code. Dort habe ich im Prinzip bereits Spalte I und H berechnet leider über alle Std. und Tage aber nicht so wie ich es im Beispiel Excel habe:
Option Explicit
Private objA() As Variant, objB() As Variant, objC() As Variant, lngCount As Long
Function StdDev(strSheet As String) As Double
Dim dblAverage As Double
Dim dblSumStdDev As Double
Dim GetLastValue As Double
Dim varElement As Variant
Dim stunde As Long
Dim wsFnc As WorksheetFunction
Call prcDatenObjekt_erzeugen(strSheet:=strSheet)
GetLastValue = objC(UBound(objC))
For varElement = 1 To lngCount - 1
dblAverage = dblAverage + (objC(varElement + 1) - objC(varElement)) / objC(varElement)
Next
dblAverage = dblAverage / (lngCount - 1)
For varElement = 1 To lngCount - 1
dblSumStdDev = dblSumStdDev + ((objC(varElement + 1) - objC(varElement)) / objC( _
varElement) - dblAverage) ^ 2
Next varElement
dblSumStdDev = (dblSumStdDev / (lngCount - 2)) ^ 0.5
StdDev = dblSumStdDev
Erase objA, objB, objC, objD
End Function
Sub prcDatenObjekt_erzeugen(ByVal strSheet As String)
Dim arrA, arrB, arrC, arrD, lngX As Long
With Sheets(strSheet)
arrA = .Cells(2, 1).Resize(Application.WorksheetFunction.Count(.Range(.Cells(2, 1), _
.Cells(Rows.Count, 1).End(xlUp))))
arrB = .Cells(2, 1).Resize(Application.WorksheetFunction.Count(.Range(.Cells(2, 1), _
.Cells(Rows.Count, 1).End(xlUp)))).Offset(, 1)
arrC = .Cells(2, 1).Resize(Application.WorksheetFunction.Count(.Range(.Cells(2, 1), _
.Cells(Rows.Count, 1).End(xlUp)))).Offset(, 2)
End With
lngCount = 0
For lngX = LBound(arrA) To UBound(arrA)
lngCount = lngCount + 1
ReDim Preserve objA(0 To lngCount)
ReDim Preserve objB(0 To lngCount)
ReDim Preserve objC(0 To lngCount)
objA(lngCount) = arrA(lngX, 1) * 1
objB(lngCount) = arrB(lngX, 1) * 1
objC(lngCount) = arrC(lngX, 1) * 1
Next lngX
End Sub
Danke für die Hilfe.
VG,
Michael

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Link auf alten Beitrag?
13.09.2012 13:52:56
Sheldon
Hallo Michael,
im alten Thread kannst Du nicht mehr antworten? Liefer uns doch bitte wenigstens einen Link auf den alten Thread, dann können wir uns einlesen und schauen, was nun genau nicht funktionierte wie Du Dir das wünschst. Sonst bekommst Du am Ende von frischen Köpfen wieder alte Antworten?!
Gruß
Sheldon

AW: Link auf alten Beitrag?
13.09.2012 14:06:06
Michael
Hallo Sheldon,
Danke für die schnelle Antwort und der Hilfe. Mir wurde vorgeschlagen einen neuen Thread zu eröffnen und nochmals mein Problem zu spezifizieren! Der alte Thread kann hier gefunden werden:
https://www.herber.de/forum/archiv/1276to1280/t1276461.htm
Viele Grüße
Michael

Anzeige
AW: Link auf alten Beitrag?
13.09.2012 14:10:59
Michael
Ich hatte vergessen anzuklicken das die Frage noch offen ist :)

AW: Kenne Fml nicht...
13.09.2012 21:03:02
Sheldon
Hallo Michael,
leider können meine beiden Excelversionen nix anfangen mit der Formel xlfn.STDEV.S
Habs Auf Xl2007 als höchste Version versucht, ist das was neues in Xl2010 oder eine UDF? In dem Fall jedoch finde ich sie nicht im File.
In dem Fall muss ich wohl passen. Vll. gibts ja jmd anders? Ich lass die Frage mal offen.
Gruß
Sheldon

AW: Kenne Fml nicht...
13.09.2012 22:30:45
Michael
Hallo Sheldon,
STDEV.S ist einfach die Standardabweichung für Excel 2007 STDEV. Für die dt. Version STABW.S oder für Excel 2007 STABW. Das sind bereits Funktionen die in Excel 2010 definiert sind also keine UDF. Hoffe das hilft dir? Lasse die Frage mal weiter offen.
Viele Grüße,
Michael

Anzeige
AW: Kenne Fml nicht...
16.09.2012 18:04:31
Michael
Hallo Experten,
hat keiner eine schlaue Antwort zu dem Thema?
VG,
Michael

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige