Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Arrys Min ,Max,Mittelwert

Forumthread: Arrys Min ,Max,Mittelwert

Arrys Min ,Max,Mittelwert
27.08.2004 00:48:28
chris
Hallo VbAler,
habe eine frage und zwar ist es irgendwie möglich aus meheren Daten die in einem Array stecken den Min Max und Mittelwert zu bekommen ?
Lasse in ein Array mehere Daten aufnehmen..
cb(1) = 1,0000 bis cb(100) = 27,666
Habe jetzt in cb 100 Werte stehen die ich abrufen kann durch je nach dem was ich für einen Wert möchte z.B x = cb(12) dann bekomme ich in die variable x geschrieben den Wert der in cb(12) steckt .. z.b "13,433"
Jetzt meine frage ist es irgendwie möcglich wenn ich cb(1) bis cb(100) Werte habe das ich dann das Array so auslesen kann das ich den Min-Wert den Max-Wert und aus den 100 Werten die in cb stehen den Mittelwert bekomme ?
Also so meine ich "minwert-von-cb(1bis100) = "1,0002" "maxwert-von-cb(1bis100) ="27,556" und der Mittelwert aller Werte die in dem Array stecken ist z.b "16,4345"
Falls das möglich ist würde ich mich sehr über eure Hilfe freuen !
Vielen Dank schon einmal im vorraus Christian
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Arrys Min ,Max,Mittelwert
27.08.2004 07:36:56
Holger
du könntest alle Werte aufaddieren und und dann durch die Zahl addieren
summe=0
anzahl=1
min=1000 'ein Wert der mit Sicherheit kein min ist
for i=1 to ubound(cb)
summe=summe+cb(i)
if ... Bed., ob das ein Wert ist ... then anzahl=anzahl+1
if cb(i)&ltmin then min=cb(i)
next
und dann teilen für Mittelwert.
Na, so in der Art.
Holger
Anzeige
AW: Arrys Min ,Max,Mittelwert
ypsilon
hi,
warum mit schleife beim bestimmen der max etc. werte ?

Sub testing()
Dim arr(100)
Dim maxarr As Double
Dim minarr As Double
Dim mitarr As Double
For i = 1 To 100
arr(i) = i
Next i
maxarr = WorksheetFunction.Max(arr())
minarr = WorksheetFunction.Min(arr())
mitarr = WorksheetFunction.Average(arr())
MsgBox "Mittelwert=" & mitarr & vbLf & "Minimum=" & minarr & vbLf & "Maxwert=" & maxarr
End Sub

cu Micha
Anzeige
AW: Arrys Min ,Max,Mittelwert
27.08.2004 08:13:43
Holger
Hi Micha,
stimmt. Das wollte ich noch ergänzen, dass ich nicht weiß, ob es eine Fkt. speziell für Arrays gibt. Aber das es die simplen Fkt. sind, ... Man lernt nie aus.
Holger
AW: Arrys Min ,Max,Mittelwert
27.08.2004 11:29:03
chris
Vielen Dank euch beiden !!
Habt mir sehr geholfen !!!!!!!!!!!!!!
schönen Tag Chris
;
Anzeige

Infobox / Tutorial

Min, Max und Mittelwert aus einem Array in VBA


Schritt-für-Schritt-Anleitung

Um den Min-, Max- und Mittelwert aus einem Array in VBA zu berechnen, kannst Du folgende Schritte befolgen:

  1. Array deklarieren: Erstelle ein Array, in das Du Deine Werte speicherst.
  2. Werte in das Array einfügen: Fülle das Array mit den gewünschten Werten.
  3. Max-, Min- und Mittelwert berechnen: Nutze die Funktionen Max, Min und Average von WorksheetFunction.
  4. Ergebnisse anzeigen: Zeige die berechneten Werte in einer MessageBox an.

Hier ist ein Beispielcode, der diese Schritte veranschaulicht:

Sub BerechneWerte()
    Dim arr(100) As Double
    Dim maxarr As Double
    Dim minarr As Double
    Dim mitarr As Double
    Dim i As Integer

    ' Werte in das Array einfügen
    For i = 1 To 100
        arr(i) = i + Rnd() * 10 ' Zufällige Werte zwischen i und i+10
    Next i

    ' Max-, Min- und Mittelwert berechnen
    maxarr = WorksheetFunction.Max(arr)
    minarr = WorksheetFunction.Min(arr)
    mitarr = WorksheetFunction.Average(arr)

    ' Ergebnisse anzeigen
    MsgBox "Mittelwert=" & mitarr & vbLf & "Minimum=" & minarr & vbLf & "Maxwert=" & maxarr
End Sub

Häufige Fehler und Lösungen

Fehler 1: Typen nicht übereinstimmend
Lösung: Stelle sicher, dass Du das Array mit dem richtigen Datentyp deklarierst. Verwende Double für Dezimalwerte.

Fehler 2: Index außerhalb des gültigen Bereichs
Lösung: Achte darauf, dass Du beim Zugriff auf das Array die Grenzen (1 To 100) einhältst.

Fehler 3: Objekt erforderlich
Lösung: Überprüfe, ob Du WorksheetFunction richtig aufrufst. Diese Fehler treten häufig auf, wenn der Zugriff auf die Funktionen nicht korrekt ist.


Alternative Methoden

Eine alternative Methode zur Berechnung von Min, Max und Mittelwert ist die Verwendung von Schleifen. Hier ist ein Beispiel, das die Berechnungen ohne die WorksheetFunction-Methoden durchführt:

Sub BerechneWerteMitSchleife()
    Dim arr(100) As Double
    Dim summe As Double
    Dim minarr As Double
    Dim maxarr As Double
    Dim i As Integer
    Dim anzahl As Integer

    minarr = 1000 ' Ein hoher Startwert
    anzahl = 0

    ' Werte in das Array einfügen
    For i = 1 To 100
        arr(i) = i + Rnd() * 10 ' Zufällige Werte
        summe = summe + arr(i)
        anzahl = anzahl + 1

        If arr(i) < minarr Then
            minarr = arr(i)
        End If

        If arr(i) > maxarr Then
            maxarr = arr(i)
        End If
    Next i

    ' Mittelwert berechnen
    Dim mitarr As Double
    mitarr = summe / anzahl

    ' Ergebnisse anzeigen
    MsgBox "Mittelwert=" & mitarr & vbLf & "Minimum=" & minarr & vbLf & "Maxwert=" & maxarr
End Sub

Praktische Beispiele

Beispiel 1: Berechnung für feste Werte
Du kannst feste Werte in das Array einfügen, um spezifische Resultate zu testen:

Sub FesteWerte()
    Dim arr(5) As Double
    arr(1) = 1.0
    arr(2) = 2.5
    arr(3) = 3.3
    arr(4) = 4.7
    arr(5) = 5.9

    ' Berechnungen hier...
End Sub

Beispiel 2: Dynamische Werte aus einem Arbeitsblatt
Du kannst Werte direkt aus einem Arbeitsblatt einlesen:

Sub WerteAusBlatt()
    Dim arr(100) As Double
    Dim i As Integer

    For i = 1 To 100
        arr(i) = Cells(i, 1).Value ' Werte aus Spalte A
    Next i

    ' Berechnungen hier...
End Sub

Tipps für Profis

  • Verwende Option Explicit: Dies hilft, Tippfehler bei Variablen zu vermeiden.
  • Nutze Arrays effizient: Reduziere die Größe des Arrays, wenn Du weniger Werte hast.
  • Fehlerbehandlung: Implementiere On Error Resume Next, um Fehler während der Berechnung zu handhaben.
  • Performance-Optimierung: Bei großen Datenmengen kann die Verwendung von Variant-Arrays die Leistung verbessern.

FAQ: Häufige Fragen

1. Wie kann ich den Mittelwert in VBA berechnen?
Du kannst den Mittelwert mit der Funktion WorksheetFunction.Average(array) berechnen. Alternativ kannst Du auch die Summe der Werte durch die Anzahl der Werte dividieren.

2. Gibt es eine eingebaute Funktion für Arrays in VBA?
VBA bietet keine speziellen Funktionen für Arrays, aber Du kannst die Standardfunktionen wie Max, Min und Average von WorksheetFunction nutzen.

3. Kann ich auch negative Werte im Array verwenden?
Ja, Du kannst negative Werte im Array verwenden. Die Funktionen Max, Min und Average funktionieren unabhängig von der Vorzeichenlage der Zahlen.

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