Zufallszahlen ohne Wiederholungen

Formulierung des Problems

Nehmen wir an, wir müssen einen Satz ganzzahliger Zufallszahlen ohne Wiederholungen in einem bestimmten Wertebereich erstellen. Beispiele unterwegs:

  • Generieren eindeutiger Zufallscodes für Produkte oder Benutzer
  • Personen Aufgaben zuweisen (jeweils zufällig aus der Liste)
  • Permutation von Wörtern in der Suchanfrage (hello seo-shnikam)
  • Lotto spielen usw.

Methode 1. Einfach

Betrachten wir zunächst eine einfache Option: Wir müssen einen zufälligen Satz von 10 ganzen Zahlen von 1 bis 10 erhalten. Verwenden der in Excel integrierten Funktion ZWISCHEN DEM FALL (RAND ZWISCHEN) Eindeutigkeit ist nicht gewährleistet. Wenn Sie es in eine Tabellenzelle eingeben und 10 Zellen nach unten kopieren, kann es leicht zu Wiederholungen kommen:

Zufallszahlen ohne Wiederholungen

Deshalb werden wir den anderen Weg gehen.

Alle Versionen von Excel haben eine Funktion RANK (BEREICH), bestimmt für das Ranking oder, mit anderen Worten, die Bestimmung der obersten Position einer Zahl in einer Menge. Die größte Zahl in der Liste hat Rang=1, die zweitoberste hat Rang=2 und so weiter.

Lassen Sie uns die Funktion in Zelle A2 eingeben SLCHIS (RAND) ohne Argumente und kopieren Sie die Formel 10 Zellen nach unten. Diese Funktion generiert uns einen Satz von 10 zufälligen Bruchzahlen von 0 bis 1:

Zufallszahlen ohne Wiederholungen

In der nächsten Spalte stellen wir die Funktion vor RANKum die Position im Ranking für jede erhaltene Zufallszahl zu bestimmen:

Zufallszahlen ohne Wiederholungen

Wir bekommen in Spalte B, was wir wollten – eine beliebige Anzahl sich nicht wiederholender Zufallszahlen von 1 bis 10.

Rein theoretisch kann eine Situation entstehen, wenn SLCHIS gibt uns zwei identische Zufallszahlen in Spalte A, ihre Ränge stimmen überein und wir erhalten eine Wiederholung in Spalte B. Die Wahrscheinlichkeit eines solchen Szenarios ist jedoch äußerst gering, da die Genauigkeit 15 Dezimalstellen beträgt.

Methode 2. Kompliziert

Diese Methode ist etwas komplizierter, verwendet aber nur eine Matrixformel. Nehmen wir an, wir müssen eine Liste von 9 sich nicht wiederholenden zufälligen ganzen Zahlen im Bereich von 1 bis 50 auf einem Blatt erstellen.

Geben Sie die folgende Formel in Zelle A2 ein, klicken Sie am Ende Strg + Umschalt + Enter (um es als Matrixformel einzugeben!) und kopieren Sie die Formel auf die gewünschte Anzahl von Zellen:

Zufallszahlen ohne Wiederholungen

Methode 3. Makro

Und natürlich können Sie das Problem mit der Programmierung in Visual Basic lösen. In einem der alten Artikel über zufällige Stichproben habe ich bereits die Lotto-Array-Makrofunktion zitiert, die die erforderliche Anzahl zufälliger, sich nicht wiederholender Zahlen aus einem bestimmten Intervall erzeugt.

  • So zählen Sie die Anzahl der eindeutigen Werte in einem Bereich
  • Zufällige Auswahl von Elementen aus einer Liste

Hinterlassen Sie uns einen Kommentar