Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1260to1264
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

Mittelwert und Steigung in VBA berechnen

Mittelwert und Steigung in VBA berechnen
Michael
Hallo,
ich bin ein wenig steckengeblieben in meinem VBA Code. Ich habe eine Liste mit Messungen und dem dazugehörigen Datum (Dies ist nur ein kleiner Auschnitt):
https://www.herber.de/bbs/user/80037.xlsx
Was ich nun brauche ist die Bestimmung des Mittelwertes und der Steigung in Excel VBA für das Jahr 2000, 2001, usw.
Jahr Mittelwert Steigung
2000
2001
2002
...
Da meine Tabelle ewig lang ist wäre eine VBA Lösung einfacher wenn es auch ohne VBA geht würde mcih das auch freuen :)
Danke für die Hilfe.
VG
Michael
AW: Mittelwert und Steigung in VBA berechnen
04.05.2012 13:07:16
Rudi
Hallo,
Mittelwert aller Messungen eines Jahres?
Steigung wovon? Für die Berechnung einer Steigung braucht man doch X- und Y-Werte.
Gruß
Rudi
AW: Mittelwert und Steigung in VBA berechnen
04.05.2012 13:12:28
Michael
Hallo Rudi,
also ich brauche den Mittelwert für das Jahr 2000, dann für das Jahr 2001 usw. Bei der Steigung die Die X-Werte für z.B. das Jahr 2000 (x-Werte) und die Messung 1 (y-Werte). Dafür gibt es die Funktion Steigung in Excel will es aber lieber in VBA.
Dabei brauche ich eine Wenn Bedinung damit er weiss er nimmt nur z.B. das Jahr 2000 und dafür berechnet er alles und dann 2001 usw usw.
VG
Michael
ich sehe keine X-Werte. owT
04.05.2012 13:17:37
Rudi
AW: ich sehe keine X-Werte. owT
04.05.2012 13:19:46
Michael
Also Wenn du das Excel File öffnest dann siehst du Date, Measurement 1 usw
X wäre in dem Fall Date und Measurement 1 y. Hoffe es ist nun klarer?
Anzeige
AW: ich sehe keine X-Werte. owT
04.05.2012 14:16:05
Rudi
Hallo,
Function Steigung2(intYear As Integer, rngX As Range, rngY As Range)
Dim rngC As Range, objX As Object, objY As Object
Dim arrX, arrY
Set objX = CreateObject("Scripting.Dictionary")
Set objY = CreateObject("Scripting.Dictionary")
For Each rngC In rngX
If Year(rngC) = intYear Then
objX(rngC.Row) = rngC * 1
objY(rngC.Row) = rngY(rngC.Row - rngY.Row + 1) * 1
End If
Next
arrX = objX.items
arrY = objY.items
Steigung2 = WorksheetFunction.Slope(arrY, arrX)
End Function

Function Mittelwert2(intYear As Integer, rngX As Range, rngY As Range)
Dim rngC As Range, dblSum As Double, n As Long
For Each rngC In rngX
If Year(rngC) = intYear Then
n = n + 1
dblSum = dblSum + rngY(rngC.Row - rngY.Row + 1)
End If
Next
Mittelwert2 = dblSum / n
End Function

Sub aaa()
MsgBox Steigung2(2000, [A8:A42], [B8:B42])
End Sub

Sub bbb()
MsgBox Mittelwert2(2000, [A8:A42], [B8:B42])
End Sub

Gruß
Rudi
Anzeige
AW: ich sehe keine X-Werte. owT
04.05.2012 14:59:56
Michael
Hallo Rudi,
super Danke :)! Genau sowas habe ich gesucht :)!!!!!!!!
VG
Michael
AW: ich sehe keine X-Werte. owT
07.05.2012 10:49:38
Michael
Hallo Rudi,
ich muss dich nochmals um etwas bitten und zwar muss ich noch die Stdandard Abweichung bestimmen und würde es gerne genauso machen wie deine beiden Beispiele bei der Steigung und Mittelwert nur bekomme ich das nciht wirklich hin :(.
Danke.
VG
Michael
AW: ich sehe keine X-Werte. owT
07.05.2012 11:05:44
Michael
Noch ein Nachtrag die Anzahl möchte ich auch noch bestimmen. Danke...
AW: ich sehe keine X-Werte. owT
07.05.2012 11:36:25
Michael
Sorry habe es nun gelöst! Danke nochmals.
AW: ich sehe keine X-Werte. owT
04.05.2012 14:17:32
AndreasG
und welche Steigung solls dann sein?
die zwischen dem 1. und 2. Datum; 2. und 3. ..... ersten und letzten?
Für measurment 1 sind die z.B. JEDEN Tag unterschiedlich
Anzeige
AW: ich sehe keine X-Werte. owT
04.05.2012 15:02:27
Michael
Für die Steigung nimmt man alle Täglichen Werte z.b. vom jahr 2000 und die dazugehörigen messungen. damit kann man dann den slope von 200 bestimmen.
Rudi hat es super gelöst :)!!!!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige