Wie generiert man in Excel einen Zufallswert basierend auf einer zugewiesenen Wahrscheinlichkeit?
Beim Arbeiten mit Excel müssen Sie gelegentlich Zufallswerte generieren, die bestimmte zugrunde liegende Wahrscheinlichkeiten widerspiegeln. Nehmen wir beispielsweise an, Sie haben eine Tabelle mit mehreren möglichen Ergebnissen und den dazugehörigen Wahrscheinlichkeiten – so wie in der folgenden Abbildung.
Dieses Szenario tritt häufig bei Geschäftssimulationen, Projektmodellierungen und zu Lehrzwecken auf, wenn die zufällige Auswahl exakt die durch Ihre Daten vorgegebene Wahrscheinlichkeit oder Häufigkeit widerspiegeln soll.
Typische Anforderungen und Anwendungsfälle umfassen:
- Simulation von Umfrageantworten oder Kundenentscheidungen, bei denen bestimmte Antworten wahrscheinlicher auftreten.
- Erstellen Sie Testdatensätze oder führen Sie zufällige Ziehungen durch, um Wahrscheinlichkeitskonzepte anschaulich zu vermitteln.
- Automatisierung von Auswahlprozessen, bei denen jede Option eine bekannte Wahrscheinlichkeit aufweist.
- Spieldesign und Risikoanalyse, bei denen die Ergebnisse bestimmte Wahrscheinlichkeitsverteilungen aufweisen müssen.
Im Folgenden finden Sie verschiedene Methoden, um in Excel Zufallswerte basierend auf vorgegebenen Wahrscheinlichkeiten zu generieren – von klassischen Formelansätzen über erweiterte VBA-Automatisierung bis hin zur Nutzung des integrierten Datenanalyse-ToolPaks.
➤ VBA: Zufallswerte mit zugewiesenen Wahrscheinlichkeiten generieren
Zufallswert mit Wahrscheinlichkeit generieren
Excel bietet eine leicht zugängliche, formelbasierte Lösung zur Generierung von Zufallswerten gemäß festgelegter Wahrscheinlichkeiten. Diese Methode eignet sich für schnelle Aufgaben, funktioniert vollständig innerhalb von Arbeitsblättern und erfordert keine spezielle Einrichtung.
Stellen Sie vor Beginn sicher, dass Ihre Werte in einer Spalte (A2:A8) aufgeführt sind und die zugehörigen Wahrscheinlichkeiten – als Dezimalzahlen zwischen 0 und 1 – direkt daneben in der nächsten Spalte (B2:B8) stehen. Aus Genauigkeitsgründen sollte die Summe aller Wahrscheinlichkeiten exakt 1 ergeben. Diese Lösung eignet sich ideal für Tabellen mit einer überschaubaren Anzahl von Werten.
1.Geben Sie in einer benachbarten Spalte (beginnend bei C2) die folgende Formel ein, um kumulierte Wahrscheinlichkeiten zu berechnen:
=SUM($B$2:B2) Ziehen Sie diese Formel anschließend nach unten, um alle Ihre Werte abzudecken – so entstehen kumulierte Bereiche für jeden Wert, die dabei helfen, eine Zufallszahl einem bestimmten Ergebnis zuzuordnen.
2. Geben Sie in einer beliebigen leeren Zelle (z. B. D2) die folgende Formel ein, um einen Zufallswert basierend auf Ihrer Wahrscheinlichkeitsverteilung zu erhalten:
=INDEX(A$2:A$8,COUNTIF(C$2:C$8,"<="&RAND())+1) Drücken Sie Enter, um einen Zufallswert anzuzeigen. Bei jedem Drücken von F9 (zur Neuberechnung) oder bei Änderungen der Arbeitsblattdaten erscheint ein neues Ergebnis.
Tipps & Hinweise:
- Die Wahrscheinlichkeiten in Spalte B müssen sich exakt zu 1 summieren (bzw. zu 100 %, wenn Prozentwerte verwendet werden – diese sollten für Formeln jedoch in Dezimalzahlen umgewandelt werden), um eine faire Verteilung zu gewährleisten.
- Diese Technik eignet sich ideal für kurze Listen – bei Dutzenden oder gar Hunderten von Werten lässt die Leistung nach und die Wartung wird zunehmend schwierig.
- Wenn Sie die zufällige Auswahl mehrfach durchführen müssen – etwa zur Erstellung eines Batches simulierter Ergebnisse –, kopieren Sie einfach die endgültige Formel in einen Bereich darunter oder daneben.
- Achten Sie auf leere Zeilen und nicht übereinstimmende Bereiche, da diese zu Fehlern oder unerwarteten Ergebnissen führen können.
Fehlerhinweis: Sollten Sie einen #BEZUG!- oder #WERT!-Fehler erhalten, überprüfen Sie bitte, ob Ihre Spalte mit kumulierten Wahrscheinlichkeiten exakt dieselbe Länge wie Ihre Werte aufweist und ob alle Wahrscheinlichkeiten gültige Zahlen sind.

Entfesseln Sie die Magie von Excel mit KUTOOLS AI
- Intelligente Ausführung: Führen Sie Zelloperationen durch, analysieren Sie Daten und erstellen Sie Diagramme – alles ganz einfach per Sprachbefehl.
- Benutzerdefinierte Formeln: Erstellen Sie maßgeschneiderte Formeln, um Ihre Arbeitsabläufe optimal zu optimieren.
- VBA-Programmierung: Schreiben und implementieren Sie VBA-Code ganz mühelos.
- Formelinterpretation: Verstehen Sie komplexe Formeln spielend leicht.
- Textübersetzung: Überwinden Sie Sprachbarrieren direkt in Ihren Tabellenkalkulationen.
VBA: Zufallswerte mit zugewiesenen Wahrscheinlichkeiten generieren
Für Anwender, die mehr Automatisierung benötigen oder eine größere Menge an Zufallswerten generieren möchten – beispielsweise Tausende von Stichproben – bietet Excel-VBA eine praktische Lösung, die schneller und flexibler arbeitet als herkömmliche Arbeitsblattformeln. Diese Methode zeigt besonders bei großen Datensätzen oder bei der massenhaften Erzeugung von Zufallsergebnissen für Simulationen ihre Stärke.
1.Gehen Sie zu Entwicklertools>Visual Basic, klicken Sie dann im VBA-Fenster auf Einfügen>Modul, und fügen Sie den folgenden Code in das Modul ein:
Sub GenerateRandomWithProbability()
Dim rngValues As Range
Dim rngProbs As Range
Dim n As Long
Dim i As Long
Dim cumProbs() As Double
Dim valList() As Variant
Dim randNum As Double
Dim resultRange As Range
Dim idx As Long
' On Error, ignore
On Error Resume Next
xTitleId = "KutoolsforExcel"
' Select values
Set rngValues = Application.InputBox("Select values range", xTitleId, Type:=8)
' Select probabilities
Set rngProbs = Application.InputBox("Select probabilities range", xTitleId, Type:=8)
' Number of random values to generate
n = Application.InputBox("Number of random values to generate", xTitleId, "10", Type:=1)
' Where to output
Set resultRange = Application.InputBox("Select output start cell", xTitleId, Type:=8)
If rngValues.Rows.Count <> rngProbs.Rows.Count Then
MsgBox "Values and probabilities range must be the same size.", vbExclamation
Exit Sub
End If
ReDim cumProbs(1 To rngValues.Count)
ReDim valList(1 To rngValues.Count)
' Calculate cumulative probabilities
cumProbs(1) = rngProbs.Cells(1, 1).Value
valList(1) = rngValues.Cells(1, 1).Value
For i = 2 To rngValues.Count
cumProbs(i) = cumProbs(i - 1) + rngProbs.Cells(i, 1).Value
valList(i) = rngValues.Cells(i, 1).Value
Next i
' Generate random results
For i = 1 To n
randNum = Rnd
For idx = 1 To UBound(cumProbs)
If randNum <= cumProbs(idx) Then
resultRange.Cells(i, 1).Value = valList(idx)
Exit For
End If
Next idx
Next i
End Sub 2. Klicken Sie im VBA-Fenster auf die
-Schaltfläche „Ausführen“, um den Code auszuführen. Anschließend werden Sie nacheinander aufgefordert, Ihren Wertebereich, Ihren Wahrscheinlichkeitsbereich, die Anzahl der zu generierenden Zufallswerte sowie die Startzelle für die Ausgabe auszuwählen. Das Makro füllt die Zielzellen blitzschnell mit Zufallswerten basierend auf Ihren festgelegten Wahrscheinlichkeiten.
- Sie können diesen Vorgang auch bei größeren Datensätzen wiederholen, und die Ausgabespalte lässt sich in beliebigen Arbeitsblättern anpassen.
- Wenn Ihre Wahrscheinlichkeitsbereiche nicht nahezu exakt 1 ergeben, kann der Code die Verteilung verzerren – überprüfen Sie daher stets Ihre Annahmen.
- Diese Lösung eignet sich hervorragend für automatisierte Stichprobenziehung, Simulationen und reproduzierbare Batch-Erzeugung.
Tipp: Halten Sie Ihre Werte und Wahrscheinlichkeiten klar strukturiert und konsistent ausgerichtet. Speichern Sie Ihre Arbeit unbedingt vor dem Ausführen von Makros – VBA-Aktionen lassen sich nämlich nicht mit „Rückgängig“ rückgängig machen!
Verwandte Artikel:
- Wie generiert man in Excel eine Zufallszahl ohne Duplikate?
- Wie kann man verhindern oder stoppen, dass sich Zufallszahlen in Excel ändern?
- Wie generiert man in Excel zufällig „Ja“ oder „Nein“?
Beste Office-Produktivitätstools
Verbessern Sie Ihre Excel-Kenntnisse mit Kutools für Excel und erleben Sie Effizienz wie nie zuvor.Kutools für Excel bietet über 300 erweiterte Funktionen zur Steigerung der Produktivität und Zeit sparen.Klicken Sie hier, um die Funktion zu erhalten, die Sie am dringendsten benötigen...
Office Tab bringt eine tabbasierte Oberfläche in Office und macht Ihre Arbeit viel einfacher
- Aktivieren Sie tabbasiertes Bearbeiten und Lesen in Word, Excel, PowerPoint, Publisher, Access, Visio und Project.
- Öffnen und erstellen Sie mehrere Dokumente in neuen Registerkarten desselben Fensters – statt jedes in einem separaten Fenster zu öffnen.
- Steigert Ihre Produktivität um 50 % und erspart Ihnen täglich Hunderte von Mausklicks!
Alle Kutools-Add-Ins – ein Installationsprogramm
Kutools for Office-Paket bündelt Add-Ins für Excel, Word, Outlook und PowerPoint sowie Office Tab Pro – ideal für Teams, die mit mehreren Office-Anwendungen arbeiten.
- Alles-in-einem-Paket— Add-Ins für Excel, Word, Outlook & PowerPoint sowie Office Tab Pro
- Ein Installationsprogramm, eine Lizenz— innerhalb weniger Minuten eingerichtet (MSI-fähig)
- Funktioniert besser zusammen— optimierte Produktivität über alle Office-Anwendungen hinweg
- 30-tägige Vollversion zum Testen— keine Registrierung, keine Kreditkarte erforderlich
- Bestes Preis-Leistungs-Verhältnis— sparen Sie im Vergleich zum Kauf einzelner Add-Ins