Note: The other languages of the website are Google-translated. Back to English
English

## How to generate random value based on assigned probability in Excel?

If there is a table with some values and corresponding assigned percentages as below screenshot shown in a sheet. And now, I want to generate random values based on the list of values and their assigned probabilities.

Generate random value with probability

#### Generate random value with probability

In fact, to generate random values with the probability, you only need two formulas.

1. In adjacent cell of the table, type this formula =SUM(\$B\$2:B2), and drag this formula down to the cells you need. See screenshot:

2. Select a blank cell which you will place the random value at, type this formula =INDEX(A\$2:A\$8,COUNTIF(C\$2:C\$8,"<="&RAND())+1), press Enter key. And press F9 key to refresh the value as you need.

### The Best Office Productivity Tools

#### Kutools for Excel Solves Most of Your Problems, and Increases Your Productivity by 80%

• Reuse: Quickly insert complex formulas, charts and anything that you have used before; Encrypt Cells with password; Create Mailing List and send emails...
• Super Formula Bar (easily edit multiple lines of text and formula); Reading Layout (easily read and edit large numbers of cells); Paste to Filtered Range...
• Merge Cells/Rows/Columns without losing Data; Split Cells Content; Combine Duplicate Rows/Columns... Prevent Duplicate Cells; Compare Ranges...
• Select Duplicate or Unique Rows; Select Blank Rows (all cells are empty); Super Find and Fuzzy Find in Many Workbooks; Random Select...
• Exact Copy Multiple Cells without changing formula reference; Auto Create References to Multiple Sheets; Insert Bullets, Check Boxes and more...
• Extract Text, Add Text, Remove by Position, Remove Space; Create and Print Paging Subtotals; Convert Between Cells Content and Comments...
• Super Filter (save and apply filter schemes to other sheets); Advanced Sort by month/week/day, frequency and more; Special Filter by bold, italic...
• Combine Workbooks and WorkSheets; Merge Tables based on key columns; Split Data into Multiple Sheets; Batch Convert xls, xlsx and PDF...
• More than 300 powerful features. Supports Office/Excel 2007-2019 and 365. Supports all languages. Easy deploying in your enterprise or organization. Full features 30-day free trial. 60-day money back guarantee.

#### Office Tab Brings Tabbed interface to Office, and Make Your Work Much Easier

• Enable tabbed editing and reading in Word, Excel, PowerPoint, Publisher, Access, Visio and Project.
• Open and create multiple documents in new tabs of the same window, rather than in new windows.
• Increases your productivity by 50%, and reduces hundreds of mouse clicks for you every day!
No ratings yet. Be the first to rate!
This comment was minimized by the moderator on the site
=INDEX(A\$2:A\$8,COUNTIF(C\$2:C\$8,"<="&RAND())+1)

What does the +1 in this formula do?
This comment was minimized by the moderator on the site
Hello, beacause the cumulative column I count the rows that are less or equal to 1, but the RAND() function only work from 0-0.9999, if you do not +1, the last one value G cannot be randomly choosed forever.
This comment was minimized by the moderator on the site
Anyone know how I would go about doing this without replacement using probability pools. Here's an example: Pool A has 10 people. Pool B has 7 People. There is an 80% probability we will pull someone from Pool A; 20% probability we will pull someone from pool B. We want to randomly pick 5 people from the 2 pools without replacement. Even without replacement, the probability of pulling from either pool stays at 80/20. Any Ideas?
This comment was minimized by the moderator on the site
Sorry that I have not found a solustion for your question. If you find a answer, would you mind to let me know？
This comment was minimized by the moderator on the site
Why do the values from this function change every time I make an adjustment to the worksheet? I can't test my sample data if the results keep changing
This comment was minimized by the moderator on the site
Sorry, the formula will keep changing while adjusting the sheet because the formula contains RAND() function.
This comment was minimized by the moderator on the site
ITS A COMMON ISSUE IN RANDOMLY GENERATED INTEGERS. WHEN THEY ARE GENERATED, THE RANDOM NUMBERS, TAKE THEM & COPY & PASTE SPECIAL THEM AS VALUES, THIS WAY THEY WONT CHANGE ANYLONGER. BUT YOU WILL LOSE THE FORMULA. BEST TO USE A DIFFERENT WORKSHEET IN THE SAME SPREADSHEET.
This comment was minimized by the moderator on the site
Hello, can anyone help me getting the correct formula? I would like to get random values but with certain limits. For example, randomly get "red, blue, green, orange or pink", but I have a specific quantity of items for each color so I have to set this condition within the formula.
Thanks!
This comment was minimized by the moderator on the site
You can try the Insert Random Data to create the custom list as red, blue, green, orange and pink, then insert then to range randomly.
This comment was minimized by the moderator on the site
Does this work if the data in the cells are horizontal instead of vertical? Mine is not. Thanks
This comment was minimized by the moderator on the site
Sorry Just Noticed that I extend the cumulative prob. outside the desired limits
This comment was minimized by the moderator on the site
How can I utilize this random number generator but only have it generate odd or even numbers inside of the criteria? When I add the "ODD" or "EVEN" coding, it only produces the number "1" in the cell.
This comment was minimized by the moderator on the site
Hi, Preston Ehrsam, the Insert Random Data tool cannot insert random even or odd numbers only.
This comment was minimized by the moderator on the site
frankly I don't think this formula works.
I am trying to sample the results of an election so I have in a row the votes of different parties. no I want to go in & pick up randomly ten ballots (sort of like exit polling works), but I always get the first party in the rows.
This comment was minimized by the moderator on the site
THE FORMULA WORKS ONLY IF ONE SUBSTITUTES RAND() WITH RANDBETWEEN(1;X) WHERE X IS THE TOTAL NUMBER OF POSSIBLE OUTCOMES, WHICH WOULD SIMPLY BY AN INTEGER GREATER THAN 1.
This comment was minimized by the moderator on the site
Ottimo lavoro! Questo è proprio quello che cercavo. Però non funziona con Calc di Open Office, che fra l'altro accetta solo i comandi in italiano.
E' possibile tradurla in modo che funzioni anche con calc? Io non ci sono riuscito.Grazie.

This comment was minimized by the moderator on the site
MÌNH KHÔNG HIỂU LẮM. TẠI SAO PHẢI LÀM NHƯ VẬY Ạ?
This comment was minimized by the moderator on the site
You're a life saver.
Thanks a million!
This comment was minimized by the moderator on the site
A formula ta errada... <= altera a P()... Tem que ser < apenas...

There are no comments posted here yet