Wörter mit unterschiedlicher Wahrscheinlichkeit auslosen?

3 Antworten

am kürzesten:

=VERWEIS(ZUFALLSZAHL()*100;{0;30;40};{"WortA";"WortB";"WortC"})

Anstatt der {Vektoren} können auch Zellbereiche (vermutlich nur einzeilige bzw einspaltige) stehen, aber die Zahlen des ersten Vektors müssen steigend geordnet sein!

Wort C ergibt sich aus der Differenz von 40 und 100, kannst natürlich auch {0;30;90} schreiben und gleichzeitig Wort B und C vertauschen!

Iamiam  02.02.2016, 00:55

man kann sich sogar Ganzzahl() bzw. Kürzen(xx;0) sparen!

Trotzdem @ Jackie: DH! Hab jetzt erst festgestellt, dass praktisch das gleiche im Codefeld bei Dir "versteckt" war!

1

Schreibe in A1:A3 jeweils das Wort A, in A4 das Wort B und in A5:A10 das Wort C.
In z.B. B1 diese Formel:

=INDEX($A$1:$A$10;ZUFALLSBEREICH(1;10))

Oder Du schreibst das ganze direkt in die Formel, z.B.:

=WAHL(ZUFALLSBEREICH(1;10);"Wort A";"Wort A";"Wort A";"Wort B";"Wort C";"Wort C";"Wort C";"Wort C";"Wort C";"Wort C")

Wäre das eine Lösung für Dich?

Woher ich das weiß:Berufserfahrung – IT-Administrator (i.R.)
Jackie251  30.01.2016, 08:34

Ich würde es so Optimieren

=INDEX(A1:A3;VERGLEICH(ZUFALLSBEREICH(0;100);B1:B3;1);1)

wobei in A1:A3 die Werte A bis C stehen und im Bereich B1:B3 die jeweilige Untergrenze der Wahrscheinlichkeit
Also A fängt bei 0 und => Untergrenze 0
und geht bis 30, daher ist die Untergrenze von B = 30
B geht dann von 30 bis 40, daher ist die Untergrenze von C = 40

Es ginge auch ohne Eingangsmatrix, wenn diese nicht variabel sein soll

=INDEX({"A";"B";"C"};VERGLEICH(ZUFALLSBEREICH(0;100);{0;30;40};1);1)
3
RoeCat 
Fragesteller
 30.01.2016, 14:13
@Jackie251

Excel zeigt mir für ZUFALLSBEREICH immer einen #NAME? Fehler an. Damit wird die ganze Formel ungültig. Woran kann das liegen?

0
Oubyi, UserMod Light  30.01.2016, 16:42
@RoeCat

Da liegt daran, dass Du ein veraltetes Excel hast, wahrscheinlich 2003.
Das ist also inzwischen über 13 Jahre alt und damit rechnet man hier erst mal nicht.
Du solltest also bei weiteren Excel-Fragen immer erwähnen, dass Du noch mit Excel 2003 arbeitest, denn ab Excel 2010 sind viele neue Funktionen hinzu gekommen, wie z.B. ZUFALLSBEREICH.
Jetzt zur Lösung des Problems:

Ersetze diesen Teil der Formeln:
ZUFALLSBEREICH(1;10)
hierdurch:
=(KÜRZEN(ZUFALLSZAHL()*10;0)+1)

Klappt es?

1
RoeCat 
Fragesteller
 10.03.2016, 20:13
@Oubyi, UserMod Light

Entschuldige die verspätete Antwort. Es klappt jetzt wunderbar, vielen Dank!

0

Wenn du es ganz einfach haben willst könntest du 3 Mal Wort A, 1 Mal B und 6 Mal Wort C eintragen, das hat den selben Effekt. Ansonsten kenn ich da nix, außer eben selbst schreiben oder eben wie oben, wenn das geht.