Skip to content
Free Excel Tutorials
  • Home
  • Excel For Beginners
  • Excel Intermediate
  • Advanced Excel For Experts

Data Analysis

  • Conditional Formatting Icon Sets Examples in Excel
  • How to count table rows in Excel
  • How to Use Solver Tool in Excel
  • Randomize/ Shuffle List in Excel
  • How To Sort One Column or Multiple Columns in Excel

References

  • Two-way lookup with VLOOKUP in Excel
  • How to use Excel INDIRECT Function
  • Create hyperlink with VLOOKUP in Excel
  • How to get relative column numbers in a range in Excel
  • Excel Advanced Lookup using Index and Match Functions

Data Validations

  • Excel Data validation exists in list
  • Excel Data validation allow weekday only
  • Excel Data validation must not contain
  • Excel Data validation must begin with
  • Excel Data validation number multiple 100

How to generate random number weighted probability in Excel

by

To generated a random number, weighted with a given probability, you can use a helper table together with a formula based on the RAND and MATCH functions.

Formula

=MATCH(RAND(),cumulative_probability)

Explanation

In the example shown, the formula in F5 is:

=MATCH(RAND(),D$5:D$10)

How this formula works

This formula relies on the helper table visible in the range B4:D10. Column B contains the six numbers we want as a final result. Column C contains the probability weight assigned to each number, entered as a percentage. Column D contains the cumulative probability, created with this formula in D5, copied down:

=SUM(D4,C4)

Notice, we are intentionally shifting the cumulative probability down one row, so that the value in D5 is zero. This is to make sure MATCH is able to find a position for all values down to zero as explained below.

Worked Example:   Next largest match with the MATCH function in Excel

To generate a random value, using the weighted probability in the helper table, F5 contains this formula, copied down:

=MATCH(RAND(),D$5:D$10)

Inside MATCH, the lookup value is provided by the RAND function. RAND generates a random value between zero and 1. The lookup array is the range D5:D10, locked so it won’t change as the formula is copied down the column.

Worked Example:   How to generate random number between two numbers in Excel

The third argument for MATCH, match type, is omitted. When match type is omitted, MATCH will return the position of the largest value less than or equal to the lookup value*. In practical terms, this means the MATCH function travels along the values in D5:D10 until a larger value is encountered, then “steps back” to the previous position. When MATCH encounters a value larger than the largest last value in D5:D10 (.7 in the example), it returns the last position (6 in the example). As mentioned above, the first value in D5:D10 is deliberately zero to ensure that values below .1 are “caught” by the lookup table and return a position of 1.

Worked Example:   Position of max value in list in Excel

*Values in the lookup range must be sorted in ascending order.

Random weighted text value

To return a random weighted text value (i.e. a non-numeric value), you can enter text values in the range B5:B10, then add INDEX to return a value in that range, based on the position returned by MATCH:

=INDEX($B$5:$B$10,MATCH(RAND(),D$5:D$10))

Post navigation

Previous Post:

Put names into proper case — Manipulating NAMES in Excel

Next Post:

Create One-dimensional and Two-dimensional Array

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Learn Basic Excel

Ribbon
Workbook
Worksheets
Format Cells
Find & Select
Sort & Filter
Templates
Print
Share
Protect
Keyboard Shortcuts

Categories

  • Charts
  • Data Analysis
  • Data Validation
  • Excel Functions
    • Cube Functions
    • Database Functions
    • Date and Time Functions
    • Engineering Functions
    • Financial Functions
    • Information Functions
    • Logical Functions
    • Lookup and Reference Functions
    • Math and Trig Functions
    • Statistical Functions
    • Text Functions
    • Web Functions
  • Excel VBA
  • Excel Video Tutorials
  • Formatting
  • Grouping
  • Others

Logical Functions

  • XOR function: Description, Usage, Syntax, Examples and Explanation
  • How to use IFS function in Excel
  • IFNA function: Description, Usage, Syntax, Examples and Explanation
  • Nested IF function example in Excel
  • Excel If, Nested If, And/Or Criteria Examples

Date Time

  • Get month from date in Excel
  • Dynamic date list in Excel
  • Calculate date overlap in days in Excel
  • Calculate series of dates by workdays in Excel
  • NOW function: Description, Usage, Syntax, Examples and Explanation

Grouping

  • Group numbers at uneven intervals in Excel
  • How to randomly assign data to groups in Excel
  • Group times into 3 hour buckets in Excel
  • Group arbitrary text values in Excel
  • Calculate conditional mode with criteria in Excel

General

  • Subtotal by color in Excel
  • Freeze and Unfreeze Panes in Excel
  • List sheet names with formula in Excel
  • Flash Fill in Excel
  • How to get original number from percent change in Excel
© 2023 xlsoffice . All Right Reserved. | Teal Smiles | Abbreviations And Their Meaning