Zufallszahlen in Excel generieren und bestimmte Zahlen ausschließen
Schritt-für-Schritt-Anleitung
Um in Excel Zufallszahlen zu generieren und dabei bestimmte Zahlen auszuschließen, kannst du die folgende VBA-Prozedur verwenden. Diese Anleitung zeigt dir, wie du die Funktion RandBetween
in Verbindung mit einer Schleife und Bedingungen nutzt.
-
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
-
Gehe zu Einfügen
> Modul
, um ein neues Modul zu erstellen.
-
Füge den folgenden Code in das Modul ein:
Sub lottozahlen()
Dim x As Long
Dim i As Long
For i = 1 To 12
Do
x = WorksheetFunction.RandBetween(1, 45)
If WorksheetFunction.CountIf(Range("C1:C7"), x) = 0 Then
If WorksheetFunction.CountIf(Range("B1:B" & i), x) = 0 Then
Exit Do
End If
End If
Loop
Cells(i, 2) = x
Next
End Sub
-
Stelle sicher, dass du in den Zellen B1 bis B12 die gewünschten Zufallszahlen speichern möchtest und in C1 bis C7 die Zahlen, die ausgeschlossen werden sollen.
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro lottozahlen
aus, um die Zufallszahlen zu generieren.
Häufige Fehler und Lösungen
-
Fehler: CountIf
funktioniert nicht
Stelle sicher, dass du die Funktion genau richtig schreibst. Es sollte CountIf
und nicht counitif
sein.
-
Fehler: Immer die gleichen Zufallszahlen
Wenn du immer dieselben Zahlen erhältst, stelle sicher, dass du das Makro jedes Mal ausführst, wenn du neue Zahlen generieren möchtest.
Alternative Methoden
Wenn du keine VBA-Programmierkenntnisse hast, kannst du auch die Excel-Funktion Zufallsbereich
verwenden. Hier ist ein Beispiel, wie du dies tun kannst:
-
In Zelle B1 kannst du folgende Formel eingeben:
=WENN(ISTFEHLER(VERGLEICH(ZUFALLSBEREICH(1;45);C$1:C$7;0));ZUFALLSBEREICH(1;45);B1)
-
Kopiere die Formel von B1 bis B12. Diese Formel generiert Zufallszahlen zwischen 1 und 45, die in den Zellen C1 bis C7 ausgeschlossen sind.
Praktische Beispiele
Hier ein Beispiel, wie die Tabelle aussehen könnte:
B |
C |
12 |
5 |
19 |
7 |
23 |
10 |
34 |
15 |
41 |
20 |
3 |
25 |
27 |
30 |
31 |
35 |
39 |
40 |
4 |
45 |
9 |
|
15 |
|
In diesem Beispiel sind die Zahlen in Spalte C ausgeschlossen und die Zufallszahlen in Spalte B wurden korrekt generiert.
Tipps für Profis
-
Verwendung von Randomize
: Wenn du VBA verwendest, kannst du Randomize
vor der Generierung der Zufallszahlen hinzufügen, um sicherzustellen, dass du bei jedem Lauf unterschiedliche Zufallszahlen erhältst.
-
Erstelle eine benutzerdefinierte Funktion: Du kannst auch eine benutzerdefinierte Funktion in VBA erstellen, um die Zufallszahlen einfacher generieren zu können, ohne die gesamte Prozedur jedes Mal laufen zu lassen.
FAQ: Häufige Fragen
1. Kann ich auch andere Bereiche für die Zufallszahlen verwenden?
Ja, du kannst die Bereiche in den Formeln und im VBA-Code anpassen, um andere Zahlenbereiche zu verwenden.
2. Wie viele Zufallszahlen kann ich generieren?
Die Anzahl der Zufallszahlen kannst du im Code oder in den Formeln nach Bedarf ändern. Stelle sicher, dass der Zielbereich ausreichend Platz bietet.
3. Warum funktionieren die Formeln nicht in älteren Excel-Versionen?
Die Funktionen Zufallsbereich
und Zufallszahl
sind in den meisten modernen Excel-Versionen verfügbar. Ältere Versionen könnten Einschränkungen haben.