Häufigkeitsdiagramm
#1
Hallo,
 
ich möchte ein Häufigkeitsdiagramm aus Messwerten erstellen.
x: Messwertklasse - y: Häufigkeit in %
 
Anders als in der Excel Funktion Häufigkeit möchte ich keine Klassenintervalle
bilden, sondern es sollen alle (!) Klassen auf die x-Achse.
 
Hier sind meine 85 Messwerte:
20,0 20,1 19,9 20,2 19,8 19,9 20,1 20,0 19,7 20,1
19,8 20,0 20,3 20,1 20,2 20,1 19,6 20,2 19,9 20,5
20,4 20,1 20,0 19,5 19,9 19,7 20,0 19,8 20,3 19,9
19,9 20,3 19,7 20,0 20,1 20,2 20,5 20,2 19,8 19,6
20,3 19,9 20,2 19,7 20,0 20,4 20,1 19,9 19,5 20,3
20,1 20,2 19,8 20,1 20,2 20,0 19,6 19,8 20,1 19,4
19,6 19,9 19,7 20,0 19,8 20,3 20,0 20,2 20,4 19,9
20,0 19,7 19,9 19,8 20,3 20,4 20,6 20,0 19,8 19,7
19,9 19,8 20,2 20,1 20,0

 
Die kann man händisch sortieren und zählen (13 Klassen), daraus dann das x/Y Diagramm:
X             H             H in %
19,4       1             1,2
19,5       2             2,4
19,6       4             4,7
19,7       7             8,2
19,8       10           11,8
19,9       12           14,1
20,0       13           15,3
20,1       12           14,1
20,2       10           11,8
20,3       7             8,2
20,4       4             4,7
20,5       2             2,4
20,6       1             1,2
 
Obige Tabelle sollte aber auotmatisch aus den Messwerten erstellt werden,
und das bekomme ich nicht hin.
 
Viele Grüße
Theodor
Top
#2
(20.08.2017, 09:51)Theodor Meier schrieb: Hier sind meine 85 Messwerte:
20,0       20,1       19,9       20,2       19,8
19,8       20,0       20,3       20,1       20,2
20,4       20,1       20,0       19,5       19,9
19,9       20,3       19,7       20,0       20,1
20,3       19,9       20,2       19,7       20,0
20,1       20,2       19,8       20,1       20,2
19,6       19,9       19,7       20,0       19,8
20,0       19,7       19,9       19,8       20,3
19,9       19,8       20,2       20,1       20,0
Nein, sind sie nicht.

Sind die Daten tatsächlich auf fünf Spalten verteilt? Wer macht so einen Blödsinn?
Wir sehen uns!
... Detlef

Meine Beiträge können Ironie oder Sarkasmus enthalten.

Top
#3
Er wollte den Beitrag evtl. nicht so lang machen ... ;) EDIT: Die Frage wurde überarbeitet. Ich lasse das jetzt aber so.

__|__A__|__B__|__C__|__D__|__E__|F|__G__|__H_|CODETab von lupo1
 1|20,20|20,10|19,90|20,20|19,80| |19,50|1,00|
 2|19,80|20,00|20,30|20,10|20,20| |19,60|1,00|
 3|20,40|20,10|20,00|19,50|19,90| |19,70|4,00|
 4|19,90|20,30|19,70|20,00|20,10| |19,80|6,00|
 5|20,30|19,90|20,20|19,70|20,00| |19,90|7,00|
 6|20,10|20,20|19,80|20,10|20,20| |20,00|7,00|
 7|19,60|19,90|19,70|20,00|19,80| |20,10|7,00|
 8|20,00|19,70|19,90|19,80|20,30| |20,20|7,00|
 9|19,90|19,80|20,20|20,10|20,00| |20,30|4,00|
10|     |     |     |     |     | |20,40|1,00|

Zellformeln:
G1: =MIN(A1:E9)
G2: =G1+0,1
H1: =ZÄHLENWENN($A$1:$E$9;G1)
Top
#4
schönen dank.
okay, für dieses beispiel geht das. aber die intervalle sind sonst nicht immer 0,1 sondern
unbekannt und unregelmässig, da geht das dann nicht.
Top
#5
Merke: Beispiele niemals streamlinen! Immer real halten, mit allen Unwägbarkeiten! Sonst antworten wir uns nen Wolf (deutsch für Lupo).

- Bringe die Daten in eine Spalte.
- Verwende Pivottabelle, dort Gruppieren
- Dann: Pivot-Chart.

Nachtrag: Du hast gar keine Intervalle. Du hast Abstände bei den Beobachtungswerten! Intervalle entstehen erst durch die Absicht des Auswertenden.
Top
#6
Hallo Theodor,

nimm folgende Formel für G2:

PHP-Code:
=WENNFEHLER(AGGREGAT(15;6;($A$1:$E$9)/(($A$1:$E$9)>G1);1);""
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





[-] Folgende(r) 1 Nutzer sagt Danke an Ego für diesen Beitrag:
  • Theodor Meier
Top
#7
Das ergibt aber nach den letzten Schilderungen (ungleiche Abstände) ein unzulässiges Diagramm. Es sei denn, es sind nur Punkte statt Flächen.
Top
#8
(20.08.2017, 12:37)Ego schrieb: Hallo Theodor,

nimm folgende Formel für G2:

PHP-Code:
=WENNFEHLER(AGGREGAT(15;6;($A$1:$E$9)/(($A$1:$E$9)>G1);1);""

Sapalopp!
Helmut, das klappt. Klasse!
Ob unter allen Umständen, kann ich noch nicht sagen, aber schaut gut aus.
Magst du noch was zur Formel erklären? Den Teiler in der Mitte?
Top
#9
Hallo Theodor,

in der Mitte steht eine "1". Das ist eine sehr kleine Ziffer. Blush

Tipp: Wenn man eine Formel nachvollziehen möchte kann man im Bearbeitungsfeld eine Teil der Formel markieren und F9 drücken.
Dann wird dort das berechnete Ergebnis dieses Teiles angezeigt.


Code:
=WENNFEHLER(AGGREGAT(15;6;($A$1:$E$9)/(($A$1:$E$9)>G1);1);"")

Diese Formel ermittelt den kleinsten Wert, der grösser als der vorherige Wert ist.
Jetzt einmal von innen nach aussen:

A:= ($A$1:$E$9)
ist die Wertematrix
B:= (($A$1:$E$9)>G1)
ergibt eine Matrix  mit FALSCH und WAHR gleicher Grösse. An den Stellen der Matrix, an denen der Wert grösser als der Vorwert ist, steht WAHR, ansonsten FALSCH.
C:= A/B
Wenn ich mit einem Wahrheitswert rechne, wird WAHR in 1  und FALSCH in 0 umgewandelt.
Ich erhalte wieder eine Matrix gleicher Grösse, bei der die Werte grösser dem Vorwert beibehalten werden, da ich durch 1 teile. An den anderen Positionen habe ich einen Fehlerwert, da ich durch 0 teile.
D:= AGGREGAT(15;6;C;1)
"Mit der Funktion AGGREGAT können verschiedene Aggregatfunktionen auf eine Liste oder Datenbank mit der Option angewendet werden ausgeblendete Zeilen sowie Fehlerwerte zu ignorieren."
Das Besondere gegenüber der einfachen Funktion ist hier der zweite Parameter, mit dem ich bestimmen kann, welche Einträge der Matrix nicht berücksichtigt werden sollen. Die Parameter:
1) 15 steht für die Funktion KKLEINSTE (ich hätte aus 5=MIN nutzen können)
2) 6 besagt, dass Matrixeinträge die einen Fehlerwert haben nicht berücksichtigt werden.
3) C die auszuwertende Matrix mit Fehlerwerten
4) 1 der zweite Parameter der Funktion KKLEINSTE

E:= WENNFEHLER(D;"")
Wenn es in der Matrix keinen Wert mehr gibt, der grösser als der Vorwert ist, führt die Aggregatfunktion zu einem Fehlereintrag. Dieser soll durch "" ersetzt werden.
helmut

Für mich ist die Möglichkeit in Excel an Zellen und Bereichen Namen zu vergeben die wichtigste Funktionalität.
Sie macht Formeln und den VBA-code verständlicher. Für Makros gilt die Regel: "Nur über benannte Bereiche auf den Inhalt der Zellen zugreifen."
Und wofür sind Regeln da? Um nachzudenken bevor man sie bricht.





Top
#10
Noch mal herzlichen Dank.

So kann ich es ansatzweise nachvollziehen, mir fehlen noch die Grundlagen zu Matrizen, das habe ich mir
in Excel noch nie angesehen.
Am besten ich zerlege mal deine Formel in mehrere einzelne Formeln und schaue mir an, was Excel macht.

Viele Grüße
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste