Mit Makros habe ich keine Probleme und noch immer alles so hinbekommen wie ich es haben wollte, jedoch versuche ich mich seit einiger Zeit an Excelfunktionen zwecks Verwendung in Arbeitsmappen, meist mit mässigem Erfolg :(
Aktuell möchte ich wieder eine Funktion zur Verwendung im Tabellenblatt machen, der Wert welcher die Formel liefert ist jedoch nicht das von mir erwartete. Ich habe das Gefühl dass alles korrekt ist, was offensichtlich nicht der Wahrheit entspricht :D Könnt Ihr euch mal meine Funktion anschauen?
https://www.herber.de/bbs/user/142646.xls
Die Funktion soll die Werte aus der Tabelle nehmen, sortieren und dann den Mittelwert aus allen Werten (ausser den zwei höchsten und den zwei tiefsten Werten) bilden.
Function mittelmittel(ByVal liste As Variant)
'ermittelt den mittelwert ohne die zwei höchsten und zwei tiefsten werte
Dim laenge As Variant
laenge = UBound(liste) - 1
Dim temp As Variant
temp = 0
'sortieren
For i = 0 To laenge
For n = 0 To laenge
If liste(n) > liste(n + 1) Then
temp = liste(n + 1)
liste(n + 1) = liste(n)
liste(n) = temp
End If
Next
Next
temp = 0
'mittelwert aus den innersten Elementen (ohne die höchsten zwei und tiefsten zwei)
For n = 2 To UBound(liste) - 3
temp = temp + liste(n)
Next
mittelmittel = temp / (laenge - 4)
End Function
Vielen Dank und Freundliche Grüsse