Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Mittelwert aus array (nicht alle Werte)

Mittelwert aus array (nicht alle Werte)
21.03.2005 07:40:13
chris
Hallo VBA Profis,
wie stelle ich das am besten an ?
Ich habe ein Makro das mir in bestimmte zellen Mittelwerte aus einem array einträgt.
Cells(x - 1, 2) = WorksheetFunction.Average(wert())
Ich habe dieses Array z.b mit 3000 werten gefüllt(ist immer verschieden)
Ich möchte jetzt irgendwie erreichen das mir das makro in die Zelle nicht alle zahlen mit in die Mittelwertsberechnung mit einfliesen lässt sondern z.b nur jeden 50sten Wert.
Würde mich über einen Tipp sher freuen.Vielen Dank und schöne Wochte wünsche ich euch.
Grüße Christian
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mittelwert aus array (nicht alle Werte)
21.03.2005 08:03:37
Cardexperte
Hello chris b,
dann berechne doch den Mittelwert selber als Summe der Werte geteilt duch die Anzahl, also ich stelle mir das folgendermaßen vor:
max=100
schritt=Rang("A1").value 'in a1 soll die Schrittweite drin stehen
'(eventuell noch eine Schleife für die Spalte)
anzahl=0
for i=1 to max step schritt
wert=cells(i,2) ' Werte aus Spalte 2, wie gesagt von mehrere Spalten dann variabel
sum = wert+sum
anzahl=anzahl+1
next i
mittelwert=sum/anzahl
end sub
so das alles nicht getestet, aber so würde ich das machen.
Gruss WS
Anzeige
AW: Mittelwert aus array (nicht alle Werte)
21.03.2005 08:16:29
chris
Dank Hilft mir zwar nicht aber Danke trotzdem !
gruß Christian
AW: Mittelwert aus array (nicht alle Werte)
21.03.2005 08:50:18
Boris
Hi Chris,
schaufel doch mittels Schleife jeden 50. Wert in ein 2. Array und bilde daraus den Mittelwert.
Grüße Boris
AW: Mittelwert aus array (nicht alle Werte)
21.03.2005 09:27:43
chris
Boris danke hab ich gemacht :)
Vielen DaNK EUCH BEIDEN NOCH EINMAL 1
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Mittelwert aus Array berechnen: Nur bestimmte Werte einbeziehen


Schritt-für-Schritt-Anleitung

Um den Mittelwert aus einem Array zu berechnen, wobei nur jeder 50. Wert einfließt, kannst Du die folgende VBA-Lösung verwenden. Dieses Beispiel setzt voraus, dass Du mit Excel 2010 oder neuer arbeitest.

  1. Öffne die Excel-Datei, in der Du den Mittelwert berechnen möchtest.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Klicke auf Einfügen und wähle Modul, um ein neues Modul zu erstellen.

  4. Kopiere den folgenden VBA-Code in das Modul:

    Sub MittelwertJeder50steWert()
       Dim max As Long
       Dim schritt As Long
       Dim anzahl As Long
       Dim summe As Double
       Dim wert As Double
    
       max = 3000 ' Anzahl der Werte im Array
       schritt = 50 ' Schrittweite
       anzahl = 0
       summe = 0
    
       For i = 1 To max Step schritt
           wert = Cells(i, 2).Value ' Werte aus Spalte 2
           summe = summe + wert
           anzahl = anzahl + 1
       Next i
    
       Cells(1, 3).Value = summe / anzahl ' Mittelwert in Zelle C1 ausgeben
    End Sub
  5. Schließe den VBA-Editor und kehre zu Excel zurück.

  6. Führe das Makro aus, um den Mittelwert zu berechnen.


Häufige Fehler und Lösungen

  • Fehler: "Typen sind inkonsistent"
    Lösung: Stelle sicher, dass die Zellen in Spalte 2 nur numerische Werte enthalten. Leere oder nicht-numerische Zellen können diesen Fehler verursachen.

  • Fehler: "Index außerhalb des Bereichs"
    Lösung: Überprüfe, ob die Anzahl der Werte im Array (max) korrekt gesetzt ist. Achte darauf, dass Du nicht versuchst, auf Zellen zuzugreifen, die außerhalb des verwendeten Bereichs liegen.


Alternative Methoden

Falls Du keine VBA-Makros verwenden möchtest, kannst Du auch die Funktion AGGREGAT nutzen, um den Mittelwert bestimmter Werte zu berechnen. Hier ist eine einfache Formel:

=AGGREGAT(1, 6, A1:A3000/(REST(ZEILE(A1:A3000)-ZEILE(A1)+1,50)=0), 1)

Diese Formel berechnet den Mittelwert von jedem 50. Wert im Bereich A1:A3000, wobei REST die Schrittweite bestimmt.


Praktische Beispiele

Angenommen, Du hast in Spalte B von B1 bis B3000 Werte stehen. Um den Mittelwert nur von jedem 50. Wert zu berechnen, kannst Du das oben stehende VBA-Makro verwenden oder die AGGREGAT-Formel einsetzen.

Wenn Du die Schrittweite ändern möchtest, kannst Du schritt im VBA-Code oder die Zahl 50 in der Excel-Formel anpassen.


Tipps für Profis

  • Verwende dynamische Bereiche: Anstatt feste Werte wie 3000 zu verwenden, könntest Du den Bereich dynamisch gestalten, indem Du die letzte Zeile in der Spalte ermittelst.

  • Optimiere die Performance: Wenn Du mit sehr großen Datenmengen arbeitest, kann es sinnvoll sein, die Berechnungen zu optimieren, indem Du nur die notwendigen Zellen durchläufst.


FAQ: Häufige Fragen

1. Wie kann ich die Schrittweite ändern?
Du kannst die Variable schritt im VBA-Code anpassen, um die Anzahl der übersprungenen Werte zu bestimmen.

2. Funktioniert das auch in Excel Online?
VBA-Makros können nicht in Excel Online ausgeführt werden. Nutze stattdessen die AGGREGAT-Funktion oder ähnliche Excel-Formeln.

3. Kann ich die Berechnung auf mehrere Spalten anwenden?
Ja, Du kannst den Code anpassen, um mehrere Spalten zu berücksichtigen, indem Du die entsprechende Logik in die Schleife einfügst.

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