Dringend: Median unter VBA (Excel)

ronnyk

Mitglied
Servus!

Bräuchte dringend den passenden VBA-Code für die Berechnung des Medians.
Hoffe Ihr könnt mir helfen.

Danke
 
Median verlangt 2 bis x Zahlen als Parameter.

Übrgib der Funktion einfach die Zahlen (mit Komma getrennt) ;)


Beispiel

Code:
Medianwert = Median( Zahl1, Zahl2, ...., ZahlX)
was du dann mit dem Medianwert machen willst, hast du ja nicht gesagt.
 
Hab dies Versucht!
Kommt aber leider eine Fehlermeldung!
"Compile error: Sub or Function not defined"
Kann auch keine Zahlenbereiche oder Liste von Zahlen angeben!
Der Median-wert soll dann nur noch in die entsprechende Zeile eingelesen werden.
 
Da Du mich drum gebeten hast, hier nun also mal die Berechnung des Medians:

n sei die Anzahl der Werte und Xi der Wert mit dem jeweiligen Index

Ungerades n: MEDIAN = X(n + 1) / 2

Gerades n: MEDIAN = (X(n / 2) + X(n / 2 + 1)) / 2 Hier wird das arithmetische Mittel der beiden mittleren Werte gebildet.

Die Werte in der Liste müssen der Grösse nach geordnet sein...
 
feine Sache!

Danke nochmal!
Weißt du auch zufällig wie ich die Werte des Median aus einer einzelnen Variablen entnehmen kann?
Die Variable enthält zahlreiche Werte die mit ", " getrennt sind.
Code:
Var = "76, 7887, 54, ....."
Weiß aber nicht wie viele Werte die Variable besitzt, da dies bei jedem Durschgangunterschiedlich ist.
 
Die Anzahl der Werte kannst Du ermitteln, indem Du die Kommata entfernst und dann die Länge des Strings ohne Kommata von der Länge des Strings mit Kommata abziehst.

Trennen kannst Du die Werte mit der Split() - Funktion:

Code:
Dim myArray() as String

myArray = Split(Var, ",", , vbTextCompare)
 
Cool!

Da wär nur noch ein Problem! Wie bekomme ich die Array-Variable in die Median()-Funktion integrierd?
Die Funktion aAkzeptiert nur einzelne Argumente. Eine Array-Var sieht er als ein Argument.

Code:
med_value = Application.WorksheetFunction.Median(Arg1, Arg2, ....)
 
Keine Ahnung, aber Du kannst doch den Median selbst ermitteln. Du musst halt dein Array noch einem Sortier - Algorithmus unterziehen und dann entweder den Wert in der Mitte (bei ungerader Anzahl) oder den Mittelwert aus den beiden mittleren Werten (bei gerader Anzahl) errechnen.
 

Neue Beiträge

Zurück