## How to create random numbers, text strings, dates and time values

The RAND() function In Excel returns a number greater than or equal to 0 (zero) and less than 1. Combining the RAND() function with a few other functions makes it possible to create random numbers, text, dates and time values.

I will in this article demonstrate what they do and how these formulas work. **Update**! The RANDBETWEEN function is in many cases a better and easier function, I have added formulas for this option as well.

**Table of contents**

1. Random numbers

This example demonstrates the RAND function returning a number greater than or equal to 0 (zero) and less than 1 each time a worksheet is recalculated.

Formula in cell A1:

Press F9 to recalculate all sheets in all open workbooks, this will also create a new random number in cell A1, see animated image above.

**1.1 How can we use this function to return numbers between or equal to 0 and 100?**

Formula in cell A3:

ROUNDUP(*number*, *num_digits*) rounds a number up, away from zero.

The RANDBETWEEN function is a better choice in this case.

#### 1.2 How to return numbers between or equal to -50 and 50?

Formula in cell A5:

ROUNDUP(*number*, *num_digits*) rounds a number up, away from zero.

If you use the RANDBETWEEN function the formula becomes:

2. Random text strings

A character in Excel is represented by a number based on the character set, in windows ANSI. A to Z are 65 to 90 and a to z are 97 to 122.

=CHAR(*number*) returns the character specified by the code number from the character set of your computer.

You can use the CHAR, RAND and ROUNDUP function to return random characters, now let me show you how.

#### 2.1 A random uppercase letter

The following formula returns a single random uppercase letter from A to Z.

Formula in B2:

or use the RANDBETWEEN function which makes the formula smaller and easier to understand.

#### 2.2 A random lowercase letter

The following formula returns a single random lowercase letter from a to z.

Formula in C2:

or a better formula:

#### 2.3 A random lowercase or uppercase letter

This formula returns a random lowercase or uppercase letter.

Formula in D2:

A formula based on the RANDBETWEEN function:

#### 2.4 Three random uppercase letters

This formula concatenates three random uppercase letter A to Z.

Formula in B3:

A formula based on the RANDBETWEEN function:

#### 2.5 Three random lowercase letters

This formula concatenates three random lowercase letter a to z.

Formula in C3

A formula based on the RANDBETWEEN function:

#### 2.6 Three random lowercase and uppercase letters

The forllowing formula returns three random letters that may be lowercase or uppercase.

Formula in D3:

A formula based on the RANDBETWEEN function:

#### Explaining RANDBETWEEN formula in cell D3

**Step 1 - CreateÂ arandom number between 0 and 1**

The RAND function has no arguments, it simply returns a number between 0 and 1.

RAND()

returns 0.377261423327488 (random number)

**Step 2 - If random number is smaller than 0.5**

The IF function checks if the logical expression RAND()<0.5 is TRUE or FALSE, if TRUE one thing happens in the second argument and if FALSE another thing happens in the third argument.

IF(RAND()<0.5, CHAR(RANDBETWEEN(65, 90)), CHAR(RANDBETWEEN(97, 122)))

becomes

IF(0.377261423327488<0.5 , CHAR(RANDBETWEEN(65, 90)), CHAR(RANDBETWEEN(97, 122)))

becomes

IF(TRUE , CHAR(RANDBETWEEN(65, 90)), CHAR(RANDBETWEEN(97, 122)))

becomes

CHAR(RANDBETWEEN(65, 90))

and returns a random uppercase letter.

**Step 3 - Concatenate characters**

The ampersand character concatenates the upper and lower case letter

IF(RAND()<0.5, CHAR(RANDBETWEEN(65, 90)), CHAR(RANDBETWEEN(97, 122)))&IF(RAND()<0.5, CHAR(RANDBETWEEN(65, 90)), CHAR(RANDBETWEEN(97, 122)))&IF(RAND()<0.5, CHAR(RANDBETWEEN(65, 90)), CHAR(RANDBETWEEN(97, 122)))

may become "X"&"h"&"A"

### 3. Random dates

Excel uses numbers as dates, called the 1900-system. The earliest date you can use is 1900-01-01 and it is represented by number 1. 2012-01-01 is 40909 and is also 40909 days later from the date 1900-01-01.

Now we know how dates in Excel work, let's say you want to create a random number between 2012-01-01 and 2012-12-31. 2012-01-01 is 40909 and 2012-12-31 is 41274. 41274 - 40909 = 365 days.

Now it is time to construct the formula.

Formula in cell A7:

A formula based on the RANDBETWEEN function:

### 4. Random time values

4.1 Random hours, minutes and seconds

Formula in cell B3:

Cell B3 is formatted as time.

#### 4.2 Random hours

Formula in cell B4:

A formula based on the RANDBETWEEN function:

#### 4.3 Random minutes

Formula in cell B5:

A formula based on the RANDBETWEEN function:

#### 4.4 Random hours and minutes

Formula in cell B6:

A formula based on the RANDBETWEEN function:

#### 4.5 Random minutes and seconds

Formula in cell B7:

### Random category

Question: How do I create a random list of unique numbers from say 1 to 10, without using VBA and […]

This article describes how to create a random playlist based on a given number of teams using an array formula. […]

Mark G asks: 1 - I see you could change the formula to have the experssion COUNTIF($C$1:C1, $E$2:$E$5)<5 changed so […]

### Excel categories

### 2 Responses to “How to create random numbers, text strings, dates and time values”

### Leave a Reply

### 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

You can simplify your random upper or lower case letter formula like this...

=CHAR((ROUNDUP(RAND()*26,0)+64+32*(RAND()<0.5)))

and, of course, you can simplify your 3 upper or lower case letters formula using this as well.

Rick Rothstein (MVP - Excel),

Thanks!!