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

Zufallszahl nur einmal vorkommen

Forumthread: Zufallszahl nur einmal vorkommen

Zufallszahl nur einmal vorkommen
06.08.2002 15:54:49
Luk
Ich habe bei der programierung eines Makros und zwar:
Wie schaffe ich es, dass eine Zufallszahl x nur einmal vorkommen kann.
Danke
Lukas

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Zufallszahl nur einmal vorkommen
06.08.2002 16:05:27
mattis
Möglicher Ansatz:

Generierte Zufallszahlen in Arrayvariable mit
Schleife einlesen.

Neu generierte Zufallszahl mit Arrayvariable
vergleichen (auch mit Schleife), bei Nicht-
übereinstimmung in Makro übernehmen, und in
Arrayvariabe einlesen.

gruß
mattis

Anzeige

Infobox / Tutorial

Zufallszahlen in Excel nur einmal generieren


Schritt-für-Schritt-Anleitung

Um in Excel eine Zufallszahl zu generieren, die nur einmal vorkommt, kannst Du folgende Schritte befolgen:

  1. Öffne Excel und erstelle eine neue Tabelle.
  2. Definiere den Bereich für deine Zufallszahlen. Zum Beispiel, wenn Du Zahlen zwischen 1 und 10 generieren möchtest, kannst Du die Zelle A1 verwenden.
  3. Füge die folgende Formel in die Zelle A1 ein:
    =RANG.GLEICH(ZUFALLSZAHL();A1:A10)
  4. Erstelle ein Array, um bereits generierte Zufallszahlen zu speichern. Das kannst Du mit einem VBA-Makro tun.
  5. Verwende eine Schleife, um neue Zufallszahlen zu generieren, bis Du eine Zahl findest, die noch nicht im Array ist.

Hier ist ein einfaches Beispiel für einen VBA-Code, um eine Zufallszahl einmalig zu generieren:

Sub ZufallszahlEinmalig()
    Dim i As Integer
    Dim Zufallszahl As Integer
    Dim ZahlenArray(1 To 10) As Integer
    Dim Existiert As Boolean

    For i = 1 To 10
        Do
            Existiert = False
            Zufallszahl = Int((10 - 1 + 1) * Rnd + 1) ' Zufallszahl zwischen 1 und 10
            For j = LBound(ZahlenArray) To UBound(ZahlenArray)
                If ZahlenArray(j) = Zufallszahl Then
                    Existiert = True
                    Exit For
                End If
            Next j
        Loop While Existiert

        ZahlenArray(i) = Zufallszahl
        Cells(i, 1).Value = Zufallszahl ' Ausgabe in Spalte A
    Next i
End Sub

Häufige Fehler und Lösungen

Fehler: Zufallszahlen werden wiederholt.
Lösung: Stelle sicher, dass Du die generierten Zufallszahlen in einem Array speicherst und einen Vergleich durchführst, bevor Du eine neue Zahl übernimmst.

Fehler: Die Zufallszahlen liegen außerhalb des gewünschten Bereichs.
Lösung: Überprüfe die Formel für den Zufallsbereich. Achte darauf, dass die Ober- und Untergrenze korrekt eingestellt sind.


Alternative Methoden

Es gibt mehrere Möglichkeiten, um sicherzustellen, dass eine Zufallszahl in Excel nur einmal vorkommt:

  • Verwende die Funktion UNIQUE(): In neueren Excel-Versionen kannst Du die UNIQUE()-Funktion verwenden, um nur einzigartige Werte aus einer Liste zu extrahieren.
  • Nutze die RANDBETWEEN() Funktion: Diese Funktion kann in Kombination mit einer Liste verwendet werden, um sicherzustellen, dass die Zufallszahlen innerhalb eines bestimmten Bereichs liegen.

Praktische Beispiele

  1. Zufallszahlen zwischen 1 und 100 ohne Wiederholung:

    • Nutze den obigen VBA-Code und ändere die Werte in der Int() Funktion, um den Bereich anzupassen.
  2. Zufallszahlen mit Dezimalstellen:

    • Wenn Du mit Dezimalstellen arbeiten möchtest, kannst Du den Code wie folgt anpassen:
      Zufallszahl = Round(Rnd() * (10 - 1) + 1, 2) ' Zufallszahl zwischen 1 und 10 mit 2 Dezimalstellen

Tipps für Profis

  • Speichere die generierten Zufallszahlen in einer Tabelle, um sie später einfach zu referenzieren oder zu analysieren.
  • Nutze Datenüberprüfung, um sicherzustellen, dass Nutzer nur Werte aus der Liste der generierten Zufallszahlen auswählen können.
  • Kombiniere verschiedene Zufallszahl-Generatoren, um komplexere Anforderungen zu erfüllen, z.B. durch die Verwendung mehrerer Arrays für unterschiedliche Kategorien.

FAQ: Häufige Fragen

1. Wie kann ich sicherstellen, dass die Zufallszahlen in einem bestimmten Bereich liegen?
Verwende die ZUFALLSBEREICH() Funktion, um Zufallszahlen innerhalb eines festgelegten Bereichs zu generieren.

2. Ist es möglich, Zufallszahlen mit Dezimalstellen zu generieren?
Ja, Du kannst die RND() Funktion anpassen, um Dezimalstellen zu erhalten, indem Du den Wert mit einer bestimmten Anzahl multiplizierst und dann rundest.

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