Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Quartile von Array

Forumthread: Quartile von Array

Quartile von Array
05.01.2009 14:01:24
Array
Hallo,
ich suche eine Möglichkeit Quartile aus einem Array in VBA zu berechnen.
Ich habe ein Array definiert in dem ich 100 Werte aus verschiedenen Dateien eingelsen habe (1 Spalte, 100 Zeilen).
Jetzt brauche ich das 25 und 75 % Quartil von einem Auszug (z.Bsp. erste 50 Werte) des Arrays.
Da ich verschiedene Dateien habe aus denen das Array zusammengesetzt wird, kann ich nicht worksheetfunction.quartile verwenden.
Wie gehts dann?
Vielen Grüße,
Alex
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Quartile von Array
05.01.2009 14:36:00
Array
Hi Alex,
Quartile kenne ich nicht, die Excelhilfe brachten mich nicht weiter und wikipedia auch nicht.
Ich verstehe absolut nicht wie die Werte in Spalte B berechnet werden. Hätte ich das verstanden könnte ich über Makrocode nachdenken.

Tabellenblatt: [Mappe1]!t3
|  A |   B  |  C  |
1 |  1 |  3,5 | 25% |
2 |  2 |  7,5 | 50% |
3 |  4 | 9,25 | 75% |
4 |  7 |      |     |
5 |  8 |      |     |
6 |  9 |      |     |
7 | 10 |      |     |
8 | 12 |      |     |
Benutzte Formeln:
B1:  =QUARTILE({1;2;4;7;8;9;10;12};ZEILE())
B2:  =QUARTILE({1;2;4;7;8;9;10;12};ZEILE())
B3:  =QUARTILE({1;2;4;7;8;9;10;12};ZEILE())


Gruß
Reinhard

Anzeige
AW: Quartile von Array
05.01.2009 15:26:00
Array
Hallo Reinhard,
Bei Quartilen wird eine (geordnete) Grundgesamtheit von Zahlen in Viertel eingeteilt.
Das 50% Quartil ist also der Wert an der Stelle, wo gleichviele Zahlen kleiner und größer als der Wert sind.
Bei dem 25% Quartil sind 25% der Werte kleiner und 75% der Werte größer als das Quartil. Anaolog beim 75% Quartil. Bei einer Anzahl von n*4+1 Werten ist das Quartil immer ein bestimmter Wert der Grundgesamtheit.
Bei den Werten die oben rauskommen ist das Quartil kein Wert der Grundgesamtheit, da sich die Grundgesamtheit der Werte (Anzahl 8) nicht so aufteilen lässt, dass ein eindeutiger Wert für die Bestimmung der Quartile berechnet werden kann.
Z.B. Der Median (das zweite Quartil) gibt den Wert an, wo genau gleichviel Werte größer und kleiner als dieser Wert sind (bei einer geordneten Skala mit 9 Werten ist dies zum Beispiel der 5. Wert). In Deinem Beispiel geht das nicht. Daher nimmt Excel das Mittel aus dem 4. und 5. Wert.
Für das 25% Quartil bewegt sich Excel vom 3. Wert aus 1/4 der Differenz vom 2. und 3. Wert in Richtung 2. Wert (also 4-(4-2)*0.25 = 3.5). Für das 75% Quartil rechnet Excel dann ebenso beim 6. und 7. Wert (also 9-(9-10)*0.25 = 9.25).
Gruß,
Alex
Anzeige
AW: Quartile von Array
05.01.2009 16:57:23
Array
Hallo Alexander,
danke für die Berechnung und die Hinweise.
Von und Bis im Code mußt du anpassen nach Wunsch

Sub Quartil_Test()
Dim arrQuelle, N As Integer
Const Von As Integer = 2     'Erster Wert = 1 usw.
Const Bis As Integer = 7
arrQuelle = Array(1, 2, 4, 7, 8, 9, 10, 12)
ReDim arrziel(Bis - Von)
For N = 0 To Bis - Von
arrziel(N) = arrQuelle(Von + N - 1)
Next N
MsgBox Application.Quartile(arrziel, 3)
End Sub


Gruß
Reinhard

Anzeige
AW: Quartile von Array
05.01.2009 14:46:03
Array
Hallo,
das kannst du auch aus einem Array berechnen.

Sub Quartil_Test()
Dim test
test = Array(1, 2, 4, 7, 8, 9, 10, 12)
MsgBox Application.Quartile(test, 3)
End Sub


Gruß
Dierk

AW: Quartile von Array
05.01.2009 15:03:00
Array
Danke,
und wenn ich die Funktion nur auf einen teil des Arrays anwenden möchte?
Also in Deinem Beispiel habe ich das Array(1, 2, 4, 7, 8, 9, 10, 12).
Jetzt möchte ich aber nur ein Quartil von den ersten 5 Werten ohne ein neues Array zu erstellen.
Geht das auch?
Anzeige
AW: Quartile von Array
05.01.2009 15:16:00
Array
Hallo,
um die Erstellung eines neuen Arrays kommst du nicht herum. Kannst du ja in einer Schleife aus dem vorhandenen Array machen. Das gehts ratzfatz.
Gruß
Dierk
AW: Quartile von Array
05.01.2009 15:27:58
Array
Danke,
wie wende ich dies denn nur auf einen Teil des Arrays an, ohne ein neues Array zu erstellen.
Also zum Beispiel den Median der ersten 5 Werte des Arrays?
Danke und Gruß,
Alex
Anzeige
DANKE
05.01.2009 15:28:00
Alexander
...bin bei der Erstellung der Beiträge irgendwie etwas unbedarft...sorry für die vielen Posts!
;
Anzeige

Infobox / Tutorial

Quartile aus einem Array in Excel berechnen


Schritt-für-Schritt-Anleitung

Um Quartile aus einem Array in Excel zu berechnen, kannst du VBA verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu starten.

  2. Füge ein neues Modul hinzu:

    • Rechtsklicke auf "VBAProject (deine Datei)" -> Einfügen -> Modul.
  3. Kopiere den folgenden Code in das Modul:

    Sub Quartil_Test()
       Dim arrQuelle, N As Integer
       Const Von As Integer = 2     'Erster Wert = 1 usw.
       Const Bis As Integer = 7
       arrQuelle = Array(1, 2, 4, 7, 8, 9, 10, 12)
       ReDim arrziel(Bis - Von)
       For N = 0 To Bis - Von
           arrziel(N) = arrQuelle(Von + N - 1)
       Next N
       MsgBox Application.Quartile(arrziel, 3) 'Für das 75% Quartil
    End Sub
  4. Führe das Makro aus: Drücke F5 oder gehe zu "Ausführen" -> "Sub/UserForm ausführen".

  5. Überprüfe die Ausgabe in der MsgBox. Dies zeigt dir das 75% Quartil (3. Quartil) an.


Häufige Fehler und Lösungen

  • Problem: Fehlermeldung bei der Ausführung des Makros.

    • Lösung: Überprüfe, ob du die richtigen Werte im Array definiert hast. Stelle sicher, dass die Indizes korrekt gesetzt sind.
  • Problem: Das Quartil wird nicht korrekt berechnet.

    • Lösung: Achte darauf, dass du die Grundgesamtheit der Werte korrekt verstehst. Das 1. Quartil ist der Wert, unter dem 25% der Daten liegen, und sollte entsprechend berechnet werden.

Alternative Methoden

Wenn du keine VBA-Programmierung verwenden möchtest, kannst du auch die Funktion QUARTILE direkt in einer Excel-Zelle verwenden:

  1. Verwende die Funktion mit einem definierten Bereich:
    =QUARTILE(A1:A100, 1)  ' Für das 1. Quartil
    =QUARTILE(A1:A100, 3)  ' Für das 3. Quartil
  2. Wenn die Werte nicht in einem Arbeitsblatt sind, kannst du die Werte manuell in die Funktion einfügen.

Praktische Beispiele

Hier sind einige Beispiele, wie du Quartile in Excel berechnen kannst:

  • Berechnung des 1. Quartils:

    MsgBox Application.Quartile(arrQuelle, 1) ' 1. Quartil
  • Berechnung des 3. Quartils:

    MsgBox Application.Quartile(arrQuelle, 3) ' 3. Quartil
  • Median (2. Quartil):

    MsgBox Application.Quartile(arrQuelle, 2) ' Median

Tipps für Profis

  • Nutze die QUARTILE.EXC oder QUARTILE.INC Funktionen in neueren Excel-Versionen, um genauere Ergebnisse zu erhalten.
  • Achte darauf, dass du die Daten vor der Berechnung sortierst, um verzerrte Ergebnisse zu vermeiden.
  • Du kannst auch Arrays dynamisch generieren, um die Berechnungen zu automatisieren.

FAQ: Häufige Fragen

1. Was ist die Bedeutung von Quartilen? Quartile teilen eine geordnete Grundgesamtheit in vier gleich große Teile. Das 1. Quartil ist der Wert, unter dem 25% der Daten liegen, während das 3. Quartil den Wert darstellt, unter dem 75% der Daten liegen.

2. Wie kann ich nur einen Teil des Arrays für die Quartilsberechnung verwenden? Um nur einen Teil des Arrays zu verwenden, musst du die relevanten Werte in ein neues Array kopieren, wie im Schritt-für-Schritt-Beispiel gezeigt. Alternativ kannst du die Funktion QUARTILE auf einen definierten Zellbereich anwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige