Brauche unbedingt eure Hilfe,
ich möchte automatisch unterschiedliche Perzentilwerte erstellen aber mit folgendem Code funktioniert es nur bedingt.
For q2 = 2 To LowLetzte2 ' Geht durch alle Einträge in der Excelliste durch die im "LowLetzte" gespeichert sind
If q = LowLetzte2 Or Range("B" & q2) <> Range("B" & q2 + 1) Then
With Worksheets("Percentile")
Percentile025 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.25)
Percentile050 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.5)
Percentile075 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.75)
Percentile095 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.95)
z1 = z1 + 1
.Range("A" & z1) = Range("B" & q2)
.Range("B" & z1) = Percentile025
.Range("C" & z1) = Percentile050
.Range("D" & z1) = Percentile075
.Range("E" & z1) = Percentile095
Percentile025 = 0
Percentile050 = 0
Percentile075 = 0
Percentile095 = 0
r2 = q2
End With
Else
Percentile025 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.25)
Percentile050 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.5)
Percentile075 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.75)
Percentile095 = Application.WorksheetFunction.Percentile(Range("E" & q2), 0.95)
End If
Next q2
Sobald es in die if-schleife geht erstellt er nur für die erste Percentile "Percentile025" einen Wert und dieser Wert wird dann für alle anderen auch übernommen d. h. der Wert der Perzentile "Percentile025" gilt für alle weiteren perzentilen (0.5, 0.75, 0.95) was quatsch ist.
Wo habe ich einen Fehler drin ?
Vielen Dank!
|