Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mittelwert aus mehreren Spalten bilden

Mittelwert aus mehreren Spalten bilden
18.06.2007 13:18:25
Tobias
Hallo zusammen,
bräuchte nochmal Hilfe beim bilden mehrerer Mittelwerte.
Ich möchte den Mittelwert von Zelle A1 bis Zelle A10 bilden, anschließend von A11 bis A20 usw. (immer aus 10 aufeinanderfolgenden Werten). Dies soll solange gemacht werden bis der letzte Wert der Spalte A erreicht ist. In Spalte B soll er mir die Ergebnisse ausgeben B1,B2 usw.
Möchte das ganze mit VBA lösen, kenn mich aber nicht gerade gut aus!
Vielleicht könnt ihr mir da nochmal helfen.
Gruß
Tobias

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Mittelwert aus mehreren Spalten bilden
18.06.2007 13:26:00
Hajo_Zi
HAllo Tobias,
warum Makro, das geht auch mit Formel.
in B1 =WENN(ISTFEHLER(MITTELWERT(INDIREKT("A"&(ZEILE()-1)*10+1&":A"&(ZEILE()-1)*10+10)));"";MITTELWERT(INDIREKT("A"&(ZEILE()-1)*10+1&":A"&(ZEILE()-1)*10+10)))
und Doppelklick auf die untere rechte Ecke.

Anzeige
AW: Mittelwert aus mehreren Spalten bilden
18.06.2007 13:27:16
Andreas
Hallo Tobias,
als erster Vorschlag (wertet nur 10er Blöcke aus):
Dim Summe As Double
Dim i, j, k As Integer
With ActiveSheet
For i = 1 To .Cells.SpecialCells(xlCellTypeLastCell).Row
j = j + 1
Summe = Summe + .Cells(i, 1)
If j = 10 Then
j = 0
k = k + 1
.Cells(k, 2) = Summe / 10
Summe = 0
End If
Next i
End With
Grüße
Andreas

Anzeige
AW: Danke
18.06.2007 14:54:00
Tobias
Hallo Andreas,
danke für den VBÁ Code, funzt echt super!!!
Danke auch für die anderen Möglichkeiten, aber ich brauche leider einen VBA Code.
Gruß
Tobias

AW: Mittelwert aus mehreren Spalten bilden
18.06.2007 13:30:00
ottoh
Hallo Tobias,
schreibe folgende Formel in B1 und kopiere runter:
=MITTELWERT(INDIREKT("a"&(ZEILE()-1)*10+1):INDIREKT("A"&ZEILE()*10))
Gruß OttoH

Anzeige
AW: Mittelwert aus mehreren Spalten bilden
18.06.2007 13:48:17
Tom
Hallo Tobias,
eine weitere Möglichkeit mit Formeln in den Zellen B1, B2 usw:
Sub Mittelwert() Dim i As Long Dim dbWert() As Double Dim lnZeilen As Long Dim lnAbschnitte As Long Dim lnZaehler As Long lnZeilen = ActiveSheet.UsedRange.Rows.Count lnAbschnitte = Int(lnZeilen / 10) ReDim dbWert(lnZeilen) lnZaehler = 1 For i = 1 To lnZeilen dbWert(i) = Cells(i, 1).Value If i Mod 10 = 0 Then Cells(lnZaehler, 2) = "=SUM(A" & i - 9 & ":A" & i & ")/10" lnZaehler = lnZaehler + 1 End If Next i End Sub


Gruß
Tom

Anzeige
AW: Mittelwert aus mehreren Spalten bilden
18.06.2007 14:52:00
ingUR
Hallo, Tobias,
was Du da berechnen willst, ist als "gleitender Durchnitt" (Average) bekannt.
Neben den hier bereits vorgestellten funktionierenden Lösungen, habe ich hier noch eine Zellenfunktionslösung, die ich in ihrer Anwendung der Zellenformel Mittelwert unter Einsatz der BEREICH.VERSCHIEBEN-Funktion vorstelle:
 
 ABCD
1    
2DatumClose  
302.05.077.455,93  
403.05.077.476,69  
504.05.077.516,76  
607.05.077.525,69  
708.05.077.442,207.483,457.483,45
Formeln der Tabelle
C3 : =WENN(ZEILE()<7;"";GD(B3;5))
D3 : =WENN(ZEILE()<7;"";MITTELWERT(BEREICH.VERSCHIEBEN(B3;-4;0;5;1):B3))
C4 : =WENN(ZEILE()<7;"";GD(B4;5))
D4 : =WENN(ZEILE()<7;"";MITTELWERT(BEREICH.VERSCHIEBEN(B4;-4;0;5;1):B4))
C5 : =WENN(ZEILE()<7;"";GD(B5;5))
D5 : =WENN(ZEILE()<7;"";MITTELWERT(BEREICH.VERSCHIEBEN(B5;-4;0;5;1):B5))
C6 : =WENN(ZEILE()<7;"";GD(B6;5))
D6 : =WENN(ZEILE()<7;"";MITTELWERT(BEREICH.VERSCHIEBEN(B6;-4;0;5;1):B6))
C7 : =WENN(ZEILE()<7;"";GD(B7;5))
D7 : =WENN(ZEILE()<7;"";MITTELWERT(BEREICH.VERSCHIEBEN(B7;-4;0;5;1):B7))
 
Diagramm - Grafik - Excel Tabellen einfach im Web darstellen    Excel Jeanie HTML  3.0    Download  
Die dazugehörige Funktionsprozedur kannst Du in den Standardmodulordner des VBA-Projekts legen:
Option Explicit Const HEADERROWS As Long = 2 Function GD(ByRef rngC As Range, nView As Integer) As Double Dim Spalte As Integer, Zeile As Long Zeile = rngC.Row If Zeile - HEADERROWS Je nach anzahl der Kopfzeilen über Deiner Tabelle kann der Konstanten HEADERROWS der entsprechende Wert zugewiiesen werden.
Die Anzahl der Werte mit denen der gleitende Durchnitswert berechnet wird, wird in der Zellenformel als zweiter Parameter der Funktion übergeben. Wegen der Flexibilität in der Anzahlgröße ist die WENN-Abfrage erforderlich, es sei den, mann möchte den mittelwert im Anfangsbereich mit der Anzahl der Werte ermitteln, die zur verfügung stehen, bis dann nur noch der Festwert anzuwenden ist:
GD(Datenspalte; MIN(10;Zeile()-Anzahl der Kopfzeilen))
z.B.
=GD(B6;MIN(5;ZEILE()-ZEILE($A$2)))
Wenn dieses Ergebnis gewünscht ist, dann wäre es auch möglich, dieses direkt in der Funktionprozedur zu berücksichtigen:

Option Explicit
Const HEADERROWS As Long = 2
Function GD(ByRef rngC As Range, nView As Integer) As Double
Dim Spalte As Integer, Zeile As Long
Zeile = rngC.Row
Spalte = rngC.Column
GD = Application.WorksheetFunction _
.Average(Range(Cells( Application.Max(HEADERROWS + 1, Zeile - nView + 1),  _
Spalte), Cells(Zeile, Spalte)))
End Function

Die Zellenformel vereinfacht sich zu: =GD(B3;5)
Gruß,
Uwe

Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Mittelwert aus mehreren Spalten bilden


Schritt-für-Schritt-Anleitung

Um den Mittelwert aus mehreren Spalten in Excel zu berechnen, kannst du die folgende Formel verwenden. Diese Anleitung geht davon aus, dass du die Werte in Spalte A hast und die Ergebnisse in Spalte B ausgegeben werden sollen.

  1. Gehe zu Zelle B1.

  2. Gib die folgende Formel ein:

    =WENN(ISTFEHLER(MITTELWERT(INDIREKT("A"&ZEILE()*10-9&":A"&ZEILE()*10)));"";MITTELWERT(INDIREKT("A"&ZEILE()*10-9&":A"&ZEILE()*10)))
  3. Drücke die Eingabetaste.

  4. Ziehe das Ausfüllkästchen (kleines Quadrat in der unteren rechten Ecke der Zelle) nach unten, um die Formel auf weitere Zeilen anzuwenden.

Diese Methode berechnet den Mittelwert über mehrere Zeilen und gibt die Ergebnisse in den entsprechenden Zellen in Spalte B aus.


Häufige Fehler und Lösungen

  • Fehler: #BEZUG!
    Möglicherweise hast du die Formel nicht korrekt eingegeben oder die Zellreferenzen stimmen nicht. Überprüfe die Formel auf Tippfehler.

  • Die Formel gibt nicht die erwarteten Werte aus.
    Stelle sicher, dass du die Formel korrekt in B1 eingegeben hast und dass die Werte in Spalte A vorhanden sind.


Alternative Methoden

Wenn du VBA nutzen möchtest, um den Mittelwert über mehrere Bereiche zu berechnen, kannst du den folgenden Code verwenden:

Sub Mittelwert()
    Dim i As Long
    Dim Summe As Double
    Dim lnZaehler As Long
    lnZaehler = 1

    For i = 1 To ActiveSheet.UsedRange.Rows.Count
        Summe = Summe + Cells(i, 1).Value
        If i Mod 10 = 0 Then
            Cells(lnZaehler, 2) = Summe / 10
            lnZaehler = lnZaehler + 1
            Summe = 0
        End If
    Next i
End Sub

Dieses Makro berechnet den Mittelwert aus 10 aufeinanderfolgenden Zellen in Spalte A und gibt das Ergebnis in Spalte B aus.


Praktische Beispiele

Angenommen, du hast folgende Werte in Spalte A:

A
10
20
30
40
50
60
70
80
90
100
110

Mit der oben beschriebenen Formel wird in Spalte B folgender Mittelwert angezeigt:

B
55
95

Hierbei wird in B1 der Mittelwert von A1 bis A10 und in B2 der von A11 bis A20 berechnet.


Tipps für Profis

  • Nutze die Funktion Mittelwertwenns, wenn du den Mittelwert unter bestimmten Bedingungen berechnen möchtest. Zum Beispiel:

    =MITTELWERTWENN(A1:A20; ">50")
  • Um den Excel Mittelwert über mehrere Bereiche zu berechnen, kannst du auch die Funktion Mittelwert verwenden, indem du die Bereiche direkt angibst:

    =MITTELWERT(A1:A10; A11:A20)

FAQ: Häufige Fragen

1. Wie kann ich den Mittelwert einer einzelnen Spalte berechnen?
Verwende einfach die Funktion MITTELWERT wie folgt:

=MITTELWERT(A1:A10)

2. Was ist der Unterschied zwischen Mittelwert und Mittelwertwenn?
Mittelwert berechnet den Durchschnitt aller angegebenen Werte, während Mittelwertwenn den Durchschnitt nur für Werte berechnet, die bestimmten Kriterien entsprechen.

3. Kann ich den Mittelwert über mehrere Spalten berechnen?
Ja, du kannst die Funktion MITTELWERT verwenden, um den Durchschnitt aus mehreren Spalten zu berechnen:

=MITTELWERT(A1:A10; B1:B10)

Indem du diese Methoden und Tipps anwendest, wirst du in der Lage sein, den Excel Mittelwert über mehrere Zeilen und Bereiche effektiv zu berechnen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige