Summary

The Excel RANDARRAY function generates an array of random numbers between two values. The size or the array is is specified by rows and columns arguments. The generated values can be either decimals or whole numbers.

Purpose 

Get array of random numbers

Return value 

Array of random values

Syntax

=RANDARRAY([rows],[columns],[min],[max],[integer])
  • rows - [optional] Row count. Default = 1.
  • columns - [optional] Column count. Default = 1.
  • min - [optional] Minimum value. Default = 0.
  • max - [optional] Maximum value. Default = 1.
  • integer - [optional] Whole numbers. Boolean, TRUE or FALSE. Default = FALSE.

How to use 

The RANDARRAY function generates an array of random numbers between two values. The size or the array is determined by rows and columns arguments. By default, RANDARRAY returns an array of random numbers between 0 and 1. However, RANDARRAY will generate whole numbers when the integer argument is set to TRUE. When RANDARRAY returns multiple results in a worksheet, results will spill into adjacent cells.

RANDARRAY is a volatile function, and can cause performance issues in large or complex worksheets.

The RANDARRAY function takes five arguments, none of which are required: rows, columns, min, max, and integer. By default, rows, columns, and max default to 1, while min defaults to zero and integer defaults to FALSE. Without any arguments, RANDARRAY will return a decimal value between 0 and 1:

RANDARRAY() // returns number like 0.098419132

Use rows and columns to control the number of values returned:

=RANDARRAY(10,1) //  10 random values in rows
=RANDARRAY(1,10) //  10 random values in columns

Use min and max to set a lower and upper threshold for values. For example, to generate 3 random decimal values in rows between 1 and 5:

=RANDARRAY(3,1,1,5) // 3 decimal between 1-5

Set integers to TRUE to return whole numbers. For example, to generate 3 random whole numbers in rows between 1 and 100:

=RANDARRAY(3,1,1,100,TRUE) // 3 whole numbers between 1-100

Examples

In the example shown, RANDARRAY is used to generate 50 values in a range of 10 rows by 5 columns. The formula in B4 is:

=RANDARRAY(10,5)

To return a random array of integers, 5 rows by 2 columns,  between 1 and 10, you can use a formula like this:

=RANDARRAY(5,2,1,10,TRUE)

Random text

To generate a random letter between A-Z you can use the CHAR function with RANDARRAY:

=CHAR(RANDARRAY(1,1,65,90,TRUE))

You can also generate random text strings with RANDARRAY.

Random dates

To generate 5 random dates in the next year, you can use a formula that combines RANDARRAY with the EDATE and TODAY functions:

=RANDARRAY(5,1,TODAY(),EDATE(TODAY(),12),TRUE)
Dave Bruns Profile Picture

AuthorMicrosoft Most Valuable Professional Award

Dave Bruns

Hi - I'm Dave Bruns, and I run Exceljet with my wife, Lisa. Our goal is to help you work faster in Excel. We create short videos, and clear examples of formulas, functions, pivot tables, conditional formatting, and charts.