KutoolsforOffice — Eén oplossing, vijf krachtige tools.Meer bereiken met minder moeite.

Hoe genereert u in Excel een willekeurige waarde op basis van vooraf toegewezen kansen?

AuteurSun Wijzigingsdatum

Bij het werken met Excel moet u af en toe willekeurige waarden genereren die specifieke onderliggende kansen weerspiegelen. Stel bijvoorbeeld dat u een tabel hebt met verschillende mogelijke uitkomsten en hun bijbehorende kansen, zoals in de afbeelding hieronder.
voorbeeldgegevens

Dit scenario komt veelvuldig voor bij zakelijke simulaties, projectmodellering en educatieve toepassingen, waarbij u wilt dat de willekeurige selectie nauwkeurig de waarschijnlijkheid of frequentie weergeeft zoals bepaald door uw gegevens.

Typische behoeften en toepassingen zijn:

  • Het simuleren van enquête-antwoorden of klantkeuzes, waarbij bepaalde opties een hogere kans hebben om geselecteerd te worden.
  • Het genereren van testdatasets of willekeurige trekkingen voor het onderwijzen van kansbegrippen.
  • Het automatiseren van selectieprocessen waarbij elke optie een bekende kans heeft.
  • Spelontwerp en risicoanalyse waarbij de resultaten moeten voldoen aan specifieke kansverdelingen.

Hieronder vindt u diverse methoden om willekeurige waarden te genereren op basis van toegewezen kansen in Excel: standaard formule-gebaseerde technieken, geavanceerde VBA-automatisering en het gebruik van de ingebouwde Data-analyse Toolpak.


Genereer een willekeurige waarde met kans

Excel biedt een toegankelijke, op formules gebaseerde oplossing voor het genereren van willekeurige waarden volgens opgegeven kansen. Deze methode is geschikt voor snelle taken, werkt volledig binnen werkbladen en vereist geen speciale instellingen.

Zorg ervoor dat uw waarden in één kolom staan (A2:A8) en de bijbehorende kansen – uitgedrukt als decimalen tussen 0 en 1 – direct ernaast in kolom B (B2:B8). Voor nauwkeurige resultaten moeten de kansen optellen tot 1. Deze oplossing is perfect voor tabellen met een beperkt aantal waarden.

1.Voer in een aangrenzende kolom (beginnend bij C2) de volgende formule in om cumulatieve kansen te berekenen:

=SUM($B$2:B2)

Sleep deze formule vervolgens omlaag zodat deze alle waarden omvat. Zo ontstaan cumulatieve bereiken voor elke waarde, die helpen bij het koppelen van een willekeurig getal aan een specifieke uitkomst.
gebruik een formule om cumulatieve percentages te berekenen

2.Voer in een lege cel (bijvoorbeeld D2) de onderstaande formule in om een willekeurige waarde terug te geven op basis van uw kansverdeling:

=INDEX(A$2:A$8,COUNTIF(C$2:C$8,"<="&RAND())+1)

Druk op Enter om een willekeurige waarde weer te geven. Telkens wanneer u op F9 drukt (om opnieuw te berekenen) of wanneer werkbladgegevens veranderen, verschijnt er een nieuw resultaat.
pas een formule toe om een willekeurig geselecteerde waarde te genereren op basis van cumulatieve percentages

Tips & voorzorgsmaatregelen:

  • De kansen in kolom B moeten exact optellen tot 1 (of 100 % als u percentages gebruikt, maar converteer deze dan wel naar decimalen voor formules) om een eerlijke verdeling te garanderen.
  • Deze techniek is ideaal voor korte lijsten. Bij tientallen of honderden waarden kan de prestatie echter vertragen en het onderhoud lastig worden.
  • Als u de willekeurige selectie meerdere keren moet herhalen (bijvoorbeeld voor het genereren van een batch gesimuleerde resultaten), kopieert u eenvoudigweg de eindformule naar een bereik eronder of ernaast.
  • Wees voorzichtig met lege rijen en niet-overeenkomende bereiken, want die kunnen fouten of onverwachte resultaten veroorzaken.

Foutmelding: Als u een #REF!- of #WAARDE!-fout krijgt, controleer dan of uw kolom met cumulatieve kansen even lang is als uw lijst met waarden en of alle kansen geldige getallen zijn.

een schermafbeelding van kutools for excel ai

Ontgrendel de magie van Excel met KUTOOLS AI

  • Slimme uitvoering: Voer celbewerkingen uit, analyseer gegevens en maak grafieken — allemaal met eenvoudige opdrachten.
  • aangepaste formules: Genereer op maat gemaakte formules om uw workflows te stroomlijnen.
  • VBA-programmeren: Schrijf en implementeer VBA-code moeiteloos.
  • Formule-uitleg: Begrijp complexe formules moeiteloos.
  • Tekstvertaling: Doorbreek taalbarrières in uw spreadsheets.
Breid uw Excel-mogelijkheden uit met AI-gestuurde tools.Download nuen ervaar efficiëntie zoals nooit tevoren!

VBA: Genereer willekeurige waarden met toegewezen kansen

Voor gebruikers die meer automatisering nodig hebben of duizenden willekeurige waarden tegelijk willen genereren – bijvoorbeeld voor steekproeven – biedt Excel VBA een snelle, flexibele en praktische oplossing die werkbladformules ver overtreft. Deze methode is bijzonder effectief bij het verwerken van grote datasets of het genereren van bulkresultaten voor simulaties.

1.Ga naar Ontwikkelaarshulpmiddelen>Visual Basic, klik vervolgens in het VBA-venster op Invoegen>Moduleen plak de volgende code in de module:

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. Klik in het VBA-venster op de Uitvoeren-knop uitvoerknop om de code uit te voeren. U wordt achtereenvolgens gevraagd uw bereik met waarden, uw bereik met kansen, het aantal te genereren willekeurige waarden en de startcel voor de uitvoer te selecteren. De macro vult de doelcellen razendsnel met willekeurige waarden op basis van uw toegewezen kansen.

  • U kunt dit proces herhalen voor grotere datasets, en de uitvoerkolom is aanpasbaar op elk werkblad.
  • Als uw kansbereik niet zeer dicht bij 1 ligt, kan de code de verdeling vervormen; valideer daarom altijd uw aannames.
  • Deze oplossing is ideaal voor geautomatiseerde steekproeven, simulaties en reproduceerbare batchgeneratie.

Tips: Houd uw waarden en kansen aaneengesloten en duidelijk uitgelijnd. Sla uw werk altijd op voordat u macro’s uitvoert, want VBA-acties kunnen niet ongedaan worden gemaakt met ‘Ongedaan maken’.


Gerelateerde artikelen:

Beste Office-productiviteitshulpmiddelen

🤖KUTOOLS AI Assistant: Revolutioneer Data-analyse op basis van:Intelligente uitvoering   |  Genereer code|  Maak aangepaste formules  |  Analyseer gegevens en genereer grafieken|  Roep Verbeterde functies aan
Populaire functies:Zoeken, markeren of Dubbele waarden markeren   |  Verwijder lege rijen   |  Kolommen samenvoegen of cellen zonder gegevensverlies   |   Afronden zonder formule...
Super ZOEKEN:VLookup met meerdere criteria  |  VLookup met meerdere waarden  |   VLookup over meerdere werkbladen   |   Fuzzy Match....
Geavanceerde keuzelijst:Snel een keuzelijst maken   |  Afhankelijke keuzelijst   |  Keuzelijst met meervoudige selectie....
Kolombeheerder:Voeg een specifiek aantal kolommen toe|Verplaats kolommen|Wissel zichtbaarheidsstatus van verborgen kolommen|Vergelijk bereiken en kolommen...
Uitgelichte functies:Rasterfocus   |  Ontwerpweergave   |Verbeterde formulebalk   | Werkmap- en bladbeheerder   |  Bronnenbibliotheek(Automatische tekst)|  Datumkiezer   |  Werkbladen samenvoegen  |  Versleutelen/Cellen decoderen   | E-mails verzenden op basis van lijst   |  Superfilter   |   Speciaal filter(Filter cellen met vetgedrukt lettertype/cursief/doorgestreept...) ...
Top 15 gereedschapssets:12 Teksthulpmiddelen(Tekst toevoegen,Specifieke tekens verwijderen, ...)|   50+Grafiektypen(Gantt-diagram, ...)|   40+ Praktische formules(Leeftijd berekenen op basis van geboortedatum, ...)|   19 Invoeghulpmiddelen(QR-code Invoegen,Afbeelding invoegen vanaf pad, ...)|   12 Conversiehulpmiddelen(Omzetten naar woorden,Wisselkoersconversie, ...)|   7 Samenvoegen en splitsenhulpmiddelen(Geavanceerd samenvoegen van rijen,Cellen splitsen, ...)|... en meer
Gebruik Kutools in uw voorkeurstaal – ondersteunt Engels, Spaans, Duits, Frans, Chinees en 40+ andere talen!

Geef uw Excel-vaardigheden een boost met Kutools voor Excel en ervaar efficiëntie zoals nooit tevoren.Kutools voor Excel biedt meer dan 300 geavanceerde functies om de productiviteit te verhogen en Tijd besparen.Klik hier om de functie te krijgen die u het meest nodig heeft...


Office Tab brengt een tabbladinterface naar Office en maakt uw werk veel eenvoudiger

  • Schakel tabbladbewerking en -lezen in voor Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten aan in nieuwe tabbladen binnen hetzelfde venster, in plaats van in afzonderlijke vensters.
  • Verhoogt uw productiviteit met 50 % en bespaart u dagelijks honderden muisklikken!

Alle Kutools-add-ins in één installatieprogramma.

Kutools for Office bundelt add-ins voor Excel, Word, Outlook en PowerPoint, plus Office Tab Pro—ideaal voor teams die met meerdere Office-apps werken.

ExcelWordOutlookTabsPowerPoint
  • Alles-in-één suite— add-ins voor Excel, Word, Outlook & PowerPoint plus Office Tab Pro
  • Één installatieprogramma, één licentie— binnen enkele minuten klaar (MSI-geschikt)
  • Werkt beter samen— gestroomlijnde productiviteit in alle Office-apps
  • 30 dagen volledig functionele proefversie— geen registratie, geen creditcard
  • Beste prijs-kwaliteitverhouding— bespaar ten opzichte van het afzonderlijk kopen van add-ins