Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zufallszahlen mit Bedingungen

Zufallszahlen mit Bedingungen
26.09.2021 22:36:14
Jenny
Hallo,
wäre super lieb von euch, wenn ihr mir bei folgender Problematik helft. Ich weiß das hört sich sicherlich nach viel tüfteln an, aber ich würde mich sehr freuen wenn es eine Lösung gibt.
Das Hauptziel ist 6 Zufallszahlen zwischen 1 und 22 zu erzeugen. Die Formel dafür ist klar, =ZUFALLSBEREICH(1;22)
Allerdings wünsche ich mir gleich 3 Einschränkungen:
1. keine der 6 Zufallszahlen soll sich wiederholen
2. es soll ausgeschlossen werden, dass sich unter den 6 Zahlen gleichzeitig die Zahl 1 und die Zahl 12 befinden.
3. ich möchte im Bereich B1:B11 bis zu 11 Zahlen schreiben können, die für die ersten 3 Zufallszahlen ausgeschlossen werden sollen, also nur für die letzten 3 Zufallszahlen zur Verfügung stehen.
Beispiele:
B1=4, B2=16
die Kombination aus den Zufallszahlen 5, 7, 16, 22, 7, 9 ist nicht erlaubt, weil sich die 7 wiederholt.
die Kombination 5,1, 16, 22, 12, 9 wäre nicht erlaubt, weil gleichzeitig die 1 und die 12 vorkommt
die Kombination 5,4,16,22,12,9 wäre nicht erlaubt weil eine der ersten 3 Zahlen einer Zahl aus dem Bereich B1;B11 entspricht.
Ich hoffe ihr versteht worauf ich hinaus will und könnt mir helfen.
Liebe Grüße
Jenny
Anzeige

21
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zufallszahlen mit Bedingungen
26.09.2021 23:07:50
Piet
Hallo
ich bin gespannt ob das Formeltechnisch zu lösen ist? Mit VBA kann man das per Makro auswerten. Ich warte aber erst mal ab was den Formelprofis dazu einfällt.
mfg Piet
AW: Zufallszahlen mit Bedingungen
27.09.2021 07:45:39
PawelPopolski
Das liest sich sehr spezifisch. Nur mal aus Neugier gefragt: "Wofür braucht man sowas?"
AW: Zufallszahlen mit Bedingungen
27.09.2021 07:57:06
Jenny
Hallo Pawel,
auf die Frage habe ich nur gewartet :-)
Nein im Ernst, Es geht um Kaderplanung in einem Fußballmanagerspiel.
1 bis 22 sind die Rückennummern meiner Spieler
Ich will pro Spiel 3 zufällige Spieler auf jeden Fall aufstellen (die ersten 3 Zahlen) und 3 auf jeden Fall eine Pause gönnen (die letzten 3 Zahlen).
1 und 12 sind die Nummern der beiden Torhüter, die kann ich weder gleichzeitig aufstellen, noch draußen lassen.
Die Liste in Spalte B sind die gesperrten oder verletzten Spieler, die kommen demnach nicht für die 3 Nummern die auf jeden Fall spielen sollen in Frage.
Eine Erweiterung oder Verkleinerung des Kaders hab ich nicht geplant, will ihn bei 22 belassen und höchtens mal einen Spieler ersetzen.
Gruß
Jenny
Anzeige
nachgefragt
27.09.2021 08:36:42
Klaus
5, 7, 16, 22, 8, 9
wäre nicht erlaubt, weil die 1 oder die 12 fehlt, richtig?
Ich nehme an: Pos 1 muss immer 1 oder 12 sein, DANACH brauchst du 5 Zufallszahlen. Sollen davon die ersten 3 oder die ersten 2 auf der "Ausschluss" Liste stehen? Kann ein Torwart auf der Ausschluss-Liste stehen?
LG,
Klaus M.
Anzeige
AW: nachgefragt
27.09.2021 08:50:27
Klaus
Wenn meine Annahmen stimmen, dann geht es (mit jeder Menge Hilfsspalten) so:
https://www.herber.de/bbs/user/148284.xlsx
Ich ermittele die Zufallszahlen durch ZUFALLSZAHL() statt durch ZUFALLSBEREICH(), um darauf RANG() zu nutzen und so doppelte Zahlen zu verhinden. Das ganze in zwei Spalten, je nachdem ob "Top 3" geschont werden oder nicht. Der Torwart ist 50/50 fest.
Die Spaltenreihenfolge ist nicht intuitiv, ich habe alle RND nach links geschoben um SVERWEIS nutzen zu können. Im Prinzip können die Hilfsspalten aber überall hin, nimmt man halt INDEX(VERWEIS()) statt SVERWEIS().
LG,
Klaus M.
Anzeige
AW: nachgefragt
27.09.2021 10:53:13
Jenny
Hallo Klaus, danke für die Mühe, schaue es mir dann auch direkt an.
Aber da die Annahme, ein Torwart müsse zwingend in der Auswahl der 6 Zahlen dabei sein falsch war, befürchte ich, da muss nochmal was an der Datei geändert werden. Schau dir einfach mal bitte nochmal meine Antwort auf den anderen Beitrag an, da hab ich es nochmal genauer erläutert.
Ok, habs mir jetzt angeschaut. Der Ansatz ist an sich schon fast das was ich gesucht habe. Mit halt der Ausnahme, dass in der Liste der 6 Zahlen kein Torwart erscheinen muss. Mein Wunsch war also, dass auch die 1. Zahl Zufall ist.
Zur Erklärung, ich gebe hier nur vor welche Spieler aufgestellt werden sollen und welche nicht. Wie dann das komplette Team aussieht und welcher Torwart spielt entscheidet im Endeffekt dann das Spiel. Das einzige was halt nicht passieren soll ist das beide Torleute gleichzeitig ausgeschlossen werden sollen oder beide spielen sollen.
Gruß
Jenny
Anzeige
AW: nachgefragt
27.09.2021 11:21:10
Klaus
Hallo Jenny,
ich komm heute nicht mehr dazu. Vielleicht kannst du / jemand anders ja meinen Ansatz weiter entwickeln.
LG,
Klaus
AW: nachgefragt
27.09.2021 15:02:34
Jenny
Hallo Klaus,
soviel fehlt ja auch gar nicht mehr. Das einzige ist K2, da müsste halt eine Zufallszahl stehen, die alle meine Regeln berücksichtiigt, entsprechend der anderen 5 Zahlen.
Gruß
Jenny
Anzeige
AW: nachgefragt
27.09.2021 10:44:04
Jenny
Hallo Klaus,
nein, so war das nicht gemeint. Die 6 Zahlen sollen abgesehen von den Bedingungen Zufall sein, auch nicht ab- oder aufsteigend sortiert. Ich kann in dem Spiel je 3 Kreuze für soll aufgestellt oder soll nicht aufgestellt werden setzen. Die anderen 8 Spieler wählt die Engine dann nach anderen Kriterien aus, auch der Torwart wird dann automatisch ausgewählt wenn ich keinen vorgebe. Also dass entweder 1 oder 12 zwingend dabei ist, ist kein Muss und auch nicht von mir so gewollt.
Gruß
Jenny
Anzeige
AW: Zufallszahlen mit Bedingungen
27.09.2021 07:48:14
Jenny
Hallo Piet,
bin ich auch mal gespannt. Aber würde auch ein Makro nehmen, egal ob UDF oder "klassisches" Makro.
Danke
Jenny
AW: Zufallszahlen mit Bedingungen
27.09.2021 08:43:09
Oberschlumpf
Hi,
eine Bsp-Datei von dir per Upload könnte ja vllt auch hilfreich sein.
Ciao
Thorsten
AW: Zufallszahlen mit Bedingungen
27.09.2021 11:01:45
Jenny
Hallo Thorsten,
nimm einfach die, die Klaus gepostet hat, die trifft es schon sehr gut. Das Einzige was fehlt ist das auch in der Zelle K2 eine reine Zufallszahl stehen soll anstatt wie Klaus es gemacht hat K2 auf die Zahlen 1 und 12 zu beschränken.
Gruß
Jenny
Anzeige
AW: da gibt es mE noch einen Widerspruch ...
27.09.2021 08:59:23
neopa
Hallo Jenny,
... wenn in B1:B11 Spieler stehen, die nach Deinen Aussagen gesperrt/verletzt sind, wieso sollen diese dann evtl. auch für Nr. 4 bis 6 in Frage kommen? Außerdem schreibst Du, dass Du diesen in B1:B11 Spielern eine Pause "gegönnt" werden soll. Demnach müssten diese doch grundsätzlich nicht berücksichtigt werden. Oder?
Gruß Werner
.. , - ...
Anzeige
AW: da gibt es mE noch einen Widerspruch ...
27.09.2021 10:59:11
Jenny
Hallo Werner,
du hast recht, ich hätte auch zur Bedingung machen können, dass die Verletzten /gesperrten Spieler auch nicht für die letzten 3 Zufallszahlen in Frage kommen. Das habe ich deshalb nicht gemacht, damit wenn ich schon viele gesperrte/Verletzte Spieler habe, nicht der Kader noch weiter ausgedünnt wird. Daher habe ich was das anbelangt gesagt, das Spieler beide Kriterien erfüllen können, also sowohl v/g als auch pausierend, damit halt eine hohe Zahl an v/g Spielern nicht auch noch durch 3 Pausen erhöht wird, die v/g Spieler machen ja bereits sowieso Zwangspause.
Gruß
Jenny
Anzeige
AW: hierzu festgestellt ...
27.09.2021 12:18:03
neopa
Hallo Jenny,
... also beim besten Willen ich verstehe es nicht. Wenn ein Spieler gesperrt/verletzt ist, wieso soll dieser dann auch aufgestellt werden können und sei es auch nur auf Pos4 bis 6. Das ist für mich nicht plausibel und solange bis es dafür eine plausibel Begründung gibt, mache ich mir auch noch keine Gedanken dazu weiter.
Gruß Werner
.. , - ...
Anzeige
AW: hierzu festgestellt ...
27.09.2021 15:19:51
Jenny
Hallo Werner,
ich fürchte das jetzt noch einmal zu erklären, wie ich darauf komme führt nur zu noch mehr Verwirrung, am Besten wäre ich wohl einfach nur beim Anfangsbeitrag geblieben und hätte das mit dem Fußball gar nicht erwähnt. Da gab es dann nur Diskussionen wie ich das meine, in wiefern das Nachvollziehbar ist usw.
Ich habe mir lange Gedanken gemacht wie ich die Anforderung formuliere, im Vorfeld einige mögliche Szenarien ausprobiert, ob die Anforderungen passen.
Löst euch doch einfach wenn es geht mal von der Diskussion um Aufstellungen und Fußball, sondern denkt einfach nur an das was ich geschrieben habe zu Beginn, dass
ich 6 Zufallszahlen zwischen 1 und 22 suche, die folgende Kriterien erfüllen, dass:
1. keine Zahl doppelt vorkommen darf.
2. nicht gleichzeitig die Zahlen 1 und 12 vorkommen dürfen.
3. in den ersten 3 Zahlen keine Zahl aus B1:B11 stehen darf.
Setzt doch bitte einfach mal ausschließlich diese 3 Anforderungen um, ohne euch Gedanken um Fußball zu machen, und ob das zu dem Zweck zu dem ich es brauchen könnte passt. Ich denke damit ist mir bereits geholfen.
Werner, ich weiß dass das nicht deiner Bitte entspricht, dir es genauer zu erklären, aber ich habe hier im Beitrag jetzt die Erfahrung gemacht, dass jeder Erklärungsversuch nur mehr Verwirrung gestiftet hat und habe mich deshalb entschieden, den Erklärungen ein Ende zu setzen und zu bitten, sich einfach nochmal auf die 3 Anforderungen zu Beginn zu konzentrieren, als von Fußball noch keine Rede war.
Gruß
Jenny
Anzeige
AW: hierzu festgestellt ...
27.09.2021 15:46:03
Yal
Hallo Jenny,
erstens bewerte den 1 oder 12 separat:

= wenn(zufallszahl() >0,5;1;12)
zweitens:
_ in B1 bis B20 mache eine Liste der restlichen Zahlen übereinander (ohne 1 ohne 12)
_ in A1:A20 füge =zufallszahl()
_ lege in D1:D11 die Zahlen 1 bis 10
_ in E1:E10 greifst Du auf die 10 ersten Zahlen in Spalte und per Sverweis auf die nummer in Spalte B dazu
Formel in E1:

=SVERWEIS(KKLEINSTE($A$1:$A$20;D1);$A$1:$B$20;2;0)
_ bis E10 erweitern
Dass damit ein Zahl doppel vorkommt, liegt bei eine Wahrscheinlichkeit von 1 zu einem Milliard. Ich glaube, man kann damit leben
VG
Yal
Anzeige
AW: hierzu festgestellt ...
27.09.2021 22:11:11
Jenny
Hallo Yal,
Vielen Dank erstmal.
aber so leid es mir tut, wo finde ich in deinem Vorschlag den Bereich den ich als B1:B11 bezeichnet habe, in dem Zahlen stehen sollen, die für die ersten 3 Zufallszahlen nicht in Frage kommen, sondern nur für die letzten 3?
"in den ersten 3 Zahlen (von den 6 die ich erstellen wollte) keine Zahl aus B1:B11 stehen darf."
und das zweite ich suche Zufallszahlen zwischen 1 und 22, nicht zwischen 2 und 11, sowie 13 und 22.
Anders gesagt, es ist kein Muss dass entweder die Zahl 1 oder die Zahl 12 vorkommt, es dürfen nur nicht beide vorkommen. Wenn keine der beiden vorkommt, ist das auch völlig ok.
Liebe Grüße
Jenny
Anzeige
AW: hierzu festgestellt ...
28.09.2021 11:00:38
Yal
Hallo Jenny,
dann füge die Erzeugung von 1 oder 12 innerhalb der Liste B1:B20 (die jetzt bis B21 geht). Diese wird wie ein anderen Zahl ausgewähl oder nicht.
Ansonsten habe ich nicht versprochen, dein Problem bis aufs Nachkommastelle zu lösen. Ich liefere lediglich ein Gerüst, das Dir Ideen geben kann, in welche Richtung man eine Lösung suchen könnte.
Ich setze den "Frage offen" Zeichen, um anderen Helfer anzulocken ;-)
VG
Yal
Anzeige
AW: nachgefragt ...
02.10.2021 13:57:14
neopa
Hallo Jenny,
... konntest Du Dein Problem zwischenzeitlich abschließend klären?
Gruß Werner
.. , - ...
AW: Zufallszahlen mit Bedingungen
02.10.2021 14:53:50
Piet
Hallo Jenny
ich habe mich entschlossen mal für deine Aufgabe eine VBA Lösung anzubieten. Und den Thread offen gestellt damit du sie siehst. Schau sie dir bitte an.
In Spalte B kannst du per Button Zufallszahlen erzeugen die sich nicht wiederholen, und auch einstellige Zahlen NICHT in den zweistelligen vorkommen!
Die Ergebnisspalte D berücksichtigt wie gewünscht bei den ersten drei Zahlen das sie NICHT in B vorkommen, ansonsten gibt es freie Auswahl, Ohne doppelte.
Würde mich freuen wenn diese Lösung deinen Thread zum Schluss doch noch erfolgreich abschliesst.
https://www.herber.de/bbs/user/148405.xlsm
mfg piet
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Zufallszahlen mit Bedingungen in Excel erstellen


Schritt-für-Schritt-Anleitung

Um in Excel Zufallszahlen mit bestimmten Bedingungen zu generieren, befolge diese Schritte:

  1. Zufallszahlen generieren: Verwende die Funktion =ZUFALLSBEREICH(1;22) um eine Zufallszahl zwischen 1 und 22 zu erzeugen.

  2. Doppelte Werte vermeiden: Um sicherzustellen, dass keine Zahl mehrfach vorkommt, kannst du die RANG()-Funktion zusammen mit ZUFALLSZAHL() nutzen. Erstelle eine Hilfsspalte, die die Zufallszahlen generiert und ihre Ränge berechnet.

    =RANG(A1;A$1:A$6;0)
  3. Bedingungen einfügen:

    • Stelle sicher, dass die Zahlen 1 und 12 nicht gleichzeitig vorkommen. Das kannst du mit einer WENN()-Funktion umsetzen.
    • Verwende die ZÄHLENWENN()-Funktion, um zu prüfen, ob die ersten drei Zahlen nicht in deinem Ausschlussbereich (B1:B11) sind.
  4. Endgültige Formel: Kombiniere die obigen Schritte in einer Formel, um die 6 Zufallszahlen mit allen Bedingungen zu generieren. Die Formel könnte wie folgt aussehen:

    =WENN(UND(ZÄHLENWENN(B1:B11;ZUFALLSBEREICH(1;22))=0;NICHT(UND(ZUFALLSBEREICH(1;22)=1;ZUFALLSBEREICH(1;22)=12)));ZUFALLSBEREICH(1;22);"")
  5. Wiederhole die Schritte: Füge weitere Zellen hinzu, um alle 6 Zufallszahlen zu generieren.


Häufige Fehler und Lösungen

  • Doppelte Zahlen erscheinen: Stelle sicher, dass du die RANG()-Funktion korrekt anwendest, um Duplikate zu verhindern.

  • Zahlen 1 und 12 gleichzeitig: Überprüfe deine Bedingungen in der WENN()-Funktion. Achte darauf, dass die Logik korrekt ist.

  • Zahlen aus dem Ausschlussbereich werden gewählt: Vergewissere dich, dass die ZÄHLENWENN()-Funktion korrekt implementiert ist, um sicherzustellen, dass keine Zahlen aus B1:B11 in den ersten drei Zufallszahlen vorkommen.


Alternative Methoden

  • VBA-Lösung: Wenn du mit VBA vertraut bist, kannst du ein Makro erstellen, das diese Zufallszahlen generiert. Diese Methode kann flexibler und anpassungsfähiger sein.

    Sub Zufallszahlen()
      ' VBA-Code zum Generieren von Zufallszahlen mit Bedingungen
    End Sub
  • Zufallszahlengenerator: Nutze Online-Tools oder spezielle Add-Ins für Excel, die Zufallszahlen mit Bedingungen generieren können.


Praktische Beispiele

  • Beispiel 1: Angenommen, in den Zellen B1:B3 stehen die Werte 4, 16 und 22. Die Formel prüft, ob die generierten Zufallszahlen diese Werte nicht enthalten.

  • Beispiel 2: Wenn du 5 zufällige Zahlen zwischen 1 und 10 brauchst, kannst du die Formel =ZUFALLSBEREICH(1;10) verwenden und sie in eine Schleife einfügen, um Duplikate zu vermeiden.


Tipps für Profis

  • Verwende dynamische Bereiche: Halte deine Datenbereiche dynamisch, indem du die BEREICH.VERSCHIEBEN()-Funktion nutzt.

  • Fehlerüberprüfung: Integriere eine Fehlerüberprüfung in deine Formeln, um schnell auf unerwartete Ergebnisse zu reagieren.

  • Zufallszahlen mit Nachkommastellen: Wenn du Zufallszahlen mit Nachkommastellen benötigst, kombiniere ZUFALLSBEREICH() mit einer Division, z.B. =ZUFALLSBEREICH(1;100)/10.


FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass keine Zahl doppelt vorkommt? Verwende die RANG()-Funktion in Kombination mit ZUFALLSZAHL().

2. Ist es möglich, Zufallszahlen zwischen spezifischen Werten zu generieren? Ja, du kannst die Funktion =ZUFALLSBEREICH(min;max) verwenden, um Zufallszahlen zwischen zwei Werten zu erzeugen.

3. Wie generiere ich Zufallszahlen mit Bedingungen in einer Excel-Version? Die beschriebenen Methoden sind für Excel 2013 und neuere Versionen geeignet. Achte darauf, dass du die Funktionen korrekt anwendest.

4. Was ist der Unterschied zwischen ZUFALLSBEREICH() und ZUFALLSZAHL()? ZUFALLSBEREICH() gibt eine ganze Zahl zwischen zwei Werten zurück, während ZUFALLSZAHL() eine Zufallszahl zwischen 0 und 1 erzeugt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige