Excel: Beeinflussung der statistischen Häufigkeit bei "ZUFALLSZAHL"

...komplette Frage anzeigen

5 Antworten

Man sollte dann ein weiteres Kriterium einfügen (Vokabel nicht gewusst).

Das lässt sich mit indizierten Variablen lösen: erkannt(1), erkannt(2), erkannt(3) usw.

Oder mit zweifach indizierten Variablen: erkannt(1,1), erkannt(1,2), erkannt(1,3) usw.

Viel Spaß beim probieren.

Gruß aus Berlin

lene92 18.03.2012, 10:20

Oh je! - Ich seh schon - das ist wohl doch zu schwierig. Wenn ich mich damit auseinandersetzen will - kannst du mir da was in Richtung Anleitung in der Literatur empfehlen? Oder vielleicht eine Beispieldatei mit offenem Code?

0
Britzcontrol 18.03.2012, 11:40
@lene92

An dieser Stelle wäre ein oder zwei Screenshot/s hilfreich.
Ebenso das Makro, was ja schon existieren sollte.

Gruß aus Berlin

0
lene92 18.03.2012, 12:56
@Britzcontrol

Das Grundgerüst ist ganz einfach u. kann sicher auch kurz beschrieben werden:

Spalte A enthält die Zahlen 1 bis 5 (von A1 bis A5).

Spalte B enthält 5 Vokabeln (von B1 bis B5).

C1 enthält die Zufallszahl-Funktion =GANZZAHL(ZUFALLSZAHL()*(6-1)+1)

und D1 enthält =SVERWEIS(C1;A1:B5;2;FALSCH)

Auf diese Art werden die Vokabeln der Spalte B in zufälliger Reihenfolge und Häufigkeit in D1 ausgegeben. Ich hoffe, man kann erkennen, wie ich's meine.

0
Britzcontrol 18.03.2012, 15:02
@lene92

Also, ... zurück zur eigentlichen Frage, die Zufallszahl zu beeinflussen:

Man erhöht den Zähler (dann bis 6) und wandelt die Zufallszahl 6 in die gewünschte 4 um.

in Zelle C1
=GANZZAHL(ZUFALLSZAHL()*(7-1)+1)

in Zelle D1
=WENN(C1=6;SVERWEIS(4;A1:B5;2;FALSCH);SVERWEIS(C1;A1:B5;2;FALSCH))

Gruß aus Berlin

0
lene92 18.03.2012, 20:03
@Britzcontrol

Ich denke, ich hab das voll verstanden. Das genügt auch sicher zur Verwendung und ich werd jetzt mal probieren, wie ich das am besten einbaue.

Ein Gedanke noch: Es ist doch sicher möglich, den Zähler weiter zu erhöhen, z.B. bis 9, dann alle Zufallszahlen 6, 7, 8 u. 9 in die 4 umzuwandeln um damit die Wahrscheinlichkeit für die 4 entsprechend stärker zu beeinflussen? Wie würde dann die WENN-Funktion aussehen?. - Oder lässt sich das da nicht alles auf einmal reinpacken?

0
Iamiam 18.03.2012, 21:49
@lene92

"...den Zähler weiter zu erhöhen.." :
eben deshalb verwende ich Max(A:A), da brauchst Du manuell nichts zu verändern!
Einzige Einschränkung: in Spalte A darf nirgends eine größere Zahl stehen als Wörter vorkommen, also die muss dafür reserviert bleiben!

Die Wahrscheinlichkeit für die 4 zu erhöhen, ist formelmäßig sehr schwierig, aber Du kannst ja das Wort 4 mehrfach mit anderen Nummern in die Liste eintragen, der Lerneffekt ist der gleiche!
Musst nur, wenn Du das Wort dann kannst und die Doubletten löschen willst, verhindern, dass Lücken auftreten, also die Zahlen dann neu runterkopieren. Weniger elegant, aber möglich wäre es, mit SVerweis(....;WAHR) zu arbeiten und nach der 4 in der nächsten Zeile zB auf 6 zu springen, auch dann erhöht sich die Wahrscheinlichkeit, weil die 5 nicht gefunden wird und die Rückgabe deshalb mit ...WAHR bei 4 landet.
Es führen meist viele Wege nach Rom!

0
Iamiam 18.03.2012, 11:18

hab neulich auch so was geschrieben, aber auf die Idee bin ich nicht gekommen, hab nur die neueren Vokabeln schwerpunktmäßig bevorzugt. Muss trotzdem mal nach der Formel suchen!)

0
Iamiam 18.03.2012, 22:01
@Iamiam

hab nochmal drüber nachgedacht: mir fällt nix ein, dieses zusätzliche Kriterium in Formeln umzusetzen!
Bis ich dazu eine brauchbare Idee habe, bleib' ich bei dem Vorschlag, nicht gewusste Wörter zu kopieren und mit neuer Nummer zusätzlich nochmals einzutragen!

0
Iamiam 18.03.2012, 22:45
@Iamiam

so, jetzt ist mir doch noch eine Möglichkeit eingefallen: Wort-Nummer per Formel:
wenn nicht gewusst, +1 in Spalte D (also für jedes nicht gewusst um 1 erhöhen, anfangs steht nix drin).
Automatische Nummerierung, ab A2 in zB A2:
=A1+1+D1
jedes Nichtwissen generiert eine Lücke.
=SVerweis(Zufallszahl;Liste;Versatz;WAHR) findet das Wort also umso häufiger, je größer der Sprung zur Zahl drüber ist.

Profis nehmen statt SVerweis übrigens die Kombination
=index(Wiedergabespalte;Vergleich(ZufallsZahl;Zahlenliste;WAHR);1)
das ist vielseitiger einsetzbar:
passt sich wahlweise beim Kopieren an,
die Zahlenliste muss nicht -wie beim SVerweis- links stehen
und Du kannst damit auch Werte drüber, drunter sowie definiert nxlinks und nxrechts davon wiedergeben.
Aber ich will Dich hier nicht noch zusätzlich überlasten. Grabs aus, wenn Du den Vok-Trainer fertig hast!

0
lene92 22.03.2012, 20:10
@Iamiam

Sei nicht böse! - Ich blick da nicht durch und möchte es bei der Lösung von Blitzcontrol belassen.

0

Du kannst mit =Zufallszahl()^n die Häufigkeit
bei n>1 in Richtung kleinere,
mit n<1 (aber >0) in Richtung größere Zahl (aber immer <1!) beeinflussen.
Aber Du darfst nicht anstelle von zB Zufallszahl()^2 schreiben: Zufallszahl()*Zufallszahl(), da diese beiden Zufallszahlen unterschiedlich wären (Du darfst natürlich, es geht auch, aber es kommt was anderes raus -was durchaus auch brauchbar sein kann)!

Auch Einbettung in andere Funktionen kommt infrage: Sin(ZZ()) oder Cos()^2,
Ganzzahl(Cot(ZZ)^n) ergibt natürliche ganze Zahlen von 1-∞,
sogar sin(cot()) wäre möglich und ergibt eine recht exotische Verteilung.

man muss sich nur genau überlegen, wie die Verteilung dann ausschauen könnte.

Beliebige Funktionen kannst du erstellen, wenn Du Zufallszahl() in einer zweiten Zelle platzierst und Dich mit der Formel darauf beziehst: dann wird jedesmal dieselbe Zahl ausgewertet. (selbstverständlich Neuberechnung auf Manuell und ausgelöst mit F9)

Um diesbezüglich flexibel zu bleiben, setze ich Zufallszahlen meist per Makro:
Sub ZufallsZ()
Activesheet.Range("A2").value = Rnd()
end sub
Dieses Makro weise ich zB einem Knopf zu.

Eine so gesetzte Zufallszahl bleibt bei Neuberechnungen erhalten.
Dabei Dateiformat: .xlsm oder - von mir bevorzugt: in xl97-2003 speichern als .xls, dann kann man auch von alten Rechnern drauf zugreifen

Iamiam 18.03.2012, 13:18

Finde die Fkt Cot in xl nicht, aber Cot(ZZ) = 1/TAN(ZZ) , und die Zahl kann auch 0 sein, deshalb anstatt Ganzzahl aufrunden(..;0).
(muss ich nochmal drüber brüten und meine Trigonometriekenntnisse aktualisieren, aber das war ja nur ein Nebenaspekt)

0
Iamiam 18.03.2012, 13:37
@Iamiam

lese soeben Deinje Anordnung und Formel. Probier doch mal folgendes: 1. Ersatz von 6-1 durch Max(A:A)
und
2. Ersatz von Zufallszahl durch (1-Zufallszahl()^2)
sowie
3. anstelle von Ganzzahl(...;-1) die Formel
aufrunden(...;0),
also:

=aufrunden((1-Zufallszahl()^2)*Max(A:A);0)
Das sollte Dir den Schwerpunkt bei den hohen Zahlen setzen.

0
lene92 18.03.2012, 21:04
@Iamiam

Ganz herzlichen Dank für die enorme Arbeit. Ich hab's ausprobiert und es funktioniert. Ich denke aber mal, dass mir die Lösung von britzcontrol eher zusagt.

0

Ganz GROB fällt mir da auf die Schnelle diese Lösung ein:
=WAHL(GANZZAHL(ZUFALLSZAHL()*(7-1)+1);1;2;3;4;4;5)
Verstehst Du was ich da mache?
Wäre das etwas für Dich?

lene92 18.03.2012, 11:53

Sicher! Ich kann erkennen, was das ist. Und vielleicht ist das tatsächlich eine einfache Möglichkeit. Da muss ich jetzt mal drüber nachdenken. Ich melde mich wieder.

0

be jeder zweiten Abfrage den Grenzwert zwischen 3 und 5 stellen

lene92 18.03.2012, 09:37

Dann muss ich bei jeder Abfrage die Funktion ändern?

0
newcomer 18.03.2012, 09:38
@lene92

nein du schreibst in 2 Zellen 2 verschiedene Formeln

0
lene92 18.03.2012, 09:51
@newcomer

Ah nee! - Dabei erscheint ja dann die 4 - wenn ich das richtig verstehe - gezielt bei jeder zweiten Abfrage. Die 4 (in diesem Fall) sollte aber weiter zufällig erscheinen, - nur halt eben gehäuft.

0

Dann ist es aber keine zufällige Verteilung mehr!

lene92 18.03.2012, 09:34

Das ist wohl richtig! - Der Hintergrund ist der: Bei der Abfrage einer Vokabelreihe sollen "nicht gewusste" Wörter in der Folge häufiger erscheinen als die "gewussten".

0

Was möchtest Du wissen?