How to use the RANDBETWEEN function
What is the RANDBETWEEN function?
It returns a random whole number between the numbers you specify. This function is volatile meaning a new random number is created every time the worksheet is calculated.
Table of Contents
1. Introduction
What is random?
Each outcome of a random process cannot be predicted with certainty before it occurs. It is unpredictable.
Is the RANDBETWEEN function random?
No, it is pseudo-random. The generated value is not truly random.
What is pseudo-random?
True randomness doesn't really exist in software like Excel. The random values only look random, but are not actually random since they come from an algorithm.
What is volatile?
The RANDBETWEEN function is volatile, which means that every time the worksheet recalculates, the function runs again and a new random-looking number is returned.
What is the effect of volatile functions?
Having a lot of volatile random functions like RANDBETWEEN on your worksheet can slow down calculation, because they keep recalculating even when their inputs don't change.
When is the worksheet calculated?
Cells containing non volatile functions are only calculated once or until you force a recalculation, however, volatile functions are recalculated each time you type in a cell and press enter.
Can you stop recalculating a worksheet?
Yes, you can change a setting to manual recalculations.
- Go to tab "Formulas".
- Press with left mouse button on the "Calculation Options" button, a popup menu appears.
- Press with mouse on "Manual".
This stops the automatic recalculations.
How to force a recalculation?
Pressing F9 key will recalculate or refresh all the formulas and values in every worksheet of every workbook you have open.
Pressing Shift+F9 will only recalculate the formulas and values on the single worksheet you're currently viewing or active.
Pressing Ctrl+Alt+F9 is the quickest way to force a full recalculation of absolutely everything in all open workbooks, even if nothing has changed. It ignores whether changes were made or not and completely recomputes.
Are there more volatile functions in Excel?
Yes. OFFSET, TODAY, NOW among others.
Function | Syntax | Description |
---|---|---|
OFFSET | OFFSET(reference, rows, cols) | Returns a cell offset from a reference cell. |
TODAY | TODAY() | Returns the current date. |
NOW | NOW() | Returns current date and time. |
RANDARRAY | RANDARRAY([rows], [columns], [min], [max], [whole_number]) | Returns an array with random numbers. |
RANDBETWEEN | RANDBETWEEN(bottom, top) | Returns a random whole number between bottom and top |
Note, that conditional formatting is extremely volatile or super-volatile meaning it is recalculated as you scroll through a worksheet.
What other functions return random values?
Excel Function | Syntax | Description |
---|---|---|
RAND() | RAND() | Returns a random decimal number between 0 and 1 |
RANDBETWEEN | RANDBETWEEN(bottom, top) | Returns a random whole number between bottom and top |
RANDARRAY | RANDARRAY([rows], [columns], [min], [max], [whole_number]) | Returns an array with random numbers. |
Formula in cell D3:
2. Syntax
RANDBETWEEN(bottom, top)
bottom | Required. The start number of the range you want to create a random number from. |
top | Required. The end number of the range you want to create a random number from. |
Press F9 to calculate new random numbers. Use this function with care, it may slow down your workbook considerably if used extensively. This is the case with all volatile functions.
3. Example 1
This example demonstrates how to use the RANDBETWEEN function. It has two arguments bottom and top, which determines the range or boundary the RANDBETTWEEN function can output whole numbers from.
The image above has the bottom value in cell B4 and it contains 5, the top value in cell C4 and it contains 54. The function is in cell B7 and it returns 21 in this example.
Formula in cell B7:
The output value 21 which is displayed in cell B7 is larger then the bottom value specified in cell B4 and smaller than the top value specified in cell C4. The function is volatile meaning the output value changes each time the worksheet is recalculated which happens each time you enter a new value and presses Enter.
4. Example 2
This example demonstrates how to create a right triangle based on random coordinates created by the RANDBETWEEN function. The graph shown in the image above has minimum value of -10 and a maximum value of 10 which are valid for both the x axis and y axis.
The triangle in the chart is created from these two random whole numbers in cells C19 and C20.
Formula in cell C19:
Formula in cell C20:
Cell C19 creates a random whole number between -10 and 10 which is the used in cells B24, B26, B27, and B29 to create the x axis values for the right triangle displayed in the chart above.
The y axis value is created in cell C20 between -10 and 10 which is then used in cells B27 and B29. These values are needed to create the triangle displayed in the chart above.
You can press function key F9 to generate a new triangle with new random x and y values. The chart is instantly updated based on the new values.
5. Example 3
This example demonstrates a formula that picks a random named from cell range B4:B14. Press function key F9 to generate a new random name.
Formula in cell D4:
This example displays "Ted" in cell D4 which is in cell B11 in the source data. Here is how the formula works:
- Create a random whole number between 1 and 11.
- Return the corresponding value from cell range B4:B14. There are 11 cells in cell range B4:B14
The following sections explains the formula in greater detail.
Explaining the formula in cell D4
Step 1 - Generate a random value between 1 and 11
The RANDBETWEEN function has the following arguments: bottom and top
The bottom value is 1 and the top value is 11.
RANDBETWEEN(1,11) which returns 8 in the example shown in the image above.
Step 2 - Get value from B4:B14 based on random whole number
The INDEX function returns a value or reference from a cell range or array, you specify which value based on a row and column number.
Function syntax: INDEX(array, [row_num], [column_num])
INDEX(B4:B14, RANDBETWEEN(1,11)) becomes INDEX(B4:B14, 8)
and returns "Ted". The eighth cell in B4:B14 is B11 and it contains name "Ted".
'RANDBETWEEN' function examples
This article demonstrates a formula that distributes given text strings randomly across records in any given day meaning they may […]
This article describes how to create a random playlist based on a given number of teams using an array formula. […]
JD asks in this post:Â Dynamic team generator Hi, what if we have different number of people per team? So in […]
Functions in 'Math and trigonometry' category
The RANDBETWEEN function function is one of 63 functions in the 'Math and trigonometry' category.
How to comment
How to add a formula to your comment
<code>Insert your formula here.</code>
Convert less than and larger than signs
Use html character entities instead of less than and larger than signs.
< becomes < and > becomes >
How to add VBA code to your comment
[vb 1="vbnet" language=","]
Put your VBA code here.
[/vb]
How to add a picture to your comment:
Upload picture to postimage.org or imgur
Paste image link to your comment.
Contact Oscar
You can contact me through this contact form