Supportnet / Forum / Tabellenkalkulation
Makro für Mittelwertberechnung
Frage
Hallo,
kann mir jmd mit einem Makro weiterhelfen, welches den Mittelwert für jeweils 10 Werte ausrechnet? Es sind an die 50000 Werte die ich bei Excel verarbeiten (zeichnen, rechnen) möchte und diese sollen auf ein normales Maß normieren.
Also nochmal kurz: 50000 Werte und jeweils 10 Werte sollen immer zu einem Mittelwert zusammengefasst werden, d.h. am Ende nur noch 5000 Werte.
Vielen Dank für eure Hilfe!!!
Antwort 1 von rainberg
Hallo Sandra,
die Ausgangswerte stehen in A1:A50000
die errechneten Mittelwerte schreibt das Makro in B1:B5000
Option Explicit
Sub mittelwert()
Dim lngi As Long, intN As Integer
intN = 1
Application.ScreenUpdating = False
For lngi = 1 To 130 Step 10
Cells(intN, 2).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 1), Cells(lngi + 9, 1)))
intN = intN + 1
Next
Application.ScreenUpdating = True
End Sub
Gruß
Rainer
die Ausgangswerte stehen in A1:A50000
die errechneten Mittelwerte schreibt das Makro in B1:B5000
Option Explicit
Sub mittelwert()
Dim lngi As Long, intN As Integer
intN = 1
Application.ScreenUpdating = False
For lngi = 1 To 130 Step 10
Cells(intN, 2).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 1), Cells(lngi + 9, 1)))
intN = intN + 1
Next
Application.ScreenUpdating = True
End Sub
Gruß
Rainer
Antwort 2 von gast72
Hallo Rainer
sollte es nicht For Ingi=1 to 50000 Step 10 heisen?
kollegialen Gruß
sollte es nicht For Ingi=1 to 50000 Step 10 heisen?
kollegialen Gruß
Antwort 3 von rainberg
Korrektur:
For lngi = 1 To 130 Step 10 muss heißen
For lngi = 1 To 50000 Step 10
(ich hatte mit nur 130 Zeilen getestet)
Gruß
Rainer
For lngi = 1 To 130 Step 10 muss heißen
For lngi = 1 To 50000 Step 10
(ich hatte mit nur 130 Zeilen getestet)
Gruß
Rainer
Antwort 4 von Sandra85
Vielen Dank euch beiden! Ich werde es morgen gleich mal ausprobieren.
Bye
Bye
Antwort 5 von Sandra85
Super, es funktioniert!
Ich weiss nicht ob es moeglich ist und es muss auch nicht unbedingt sein, aber es waer super wenn ich auch noch ein Makro haette welches das ganze fuer 2 Spalten anwendet. Also in A und B stehen Werte und die Mittelwerte sollen dann jeweils in C und D geschrieben werden.
Wenn es geht waer es fantastisch wenn nicht geht es auch so...
Dankeschoen!
Ich weiss nicht ob es moeglich ist und es muss auch nicht unbedingt sein, aber es waer super wenn ich auch noch ein Makro haette welches das ganze fuer 2 Spalten anwendet. Also in A und B stehen Werte und die Mittelwerte sollen dann jeweils in C und D geschrieben werden.
Wenn es geht waer es fantastisch wenn nicht geht es auch so...
Dankeschoen!
Antwort 6 von rainberg
Hallo Sandra,
es ist fantastisch :-))
Option Explicit
Sub mittelwert()
Dim lngi As Long, intN As Integer
intN = 1
Application.ScreenUpdating = False
For lngi = 1 To 50000 Step 10
Cells(intN, 3).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 1), Cells(lngi + 9, 1)))
Cells(intN, 4).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 2), Cells(lngi + 9, 2)))
intN = intN + 1
Next
Application.ScreenUpdating = True
End Sub
Gruß
Rainer
es ist fantastisch :-))
Option Explicit
Sub mittelwert()
Dim lngi As Long, intN As Integer
intN = 1
Application.ScreenUpdating = False
For lngi = 1 To 50000 Step 10
Cells(intN, 3).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 1), Cells(lngi + 9, 1)))
Cells(intN, 4).Value = _
WorksheetFunction.Average(Range(Cells(lngi, 2), Cells(lngi + 9, 2)))
intN = intN + 1
Next
Application.ScreenUpdating = True
End Sub
Gruß
Rainer
Antwort 7 von Sandra85
Wirklich fantastisch :)
Vielen Dank nochmal! und schoenes Wochenende.
Vielen Dank nochmal! und schoenes Wochenende.

