Tip: Other languages are Google-Translated. You can visit the English version of this link.
Log in


How to generate random number without duplicates in Excel?

In many cases, you may want to generate random numbers in Excel? But with the general formulas to randomize numbers, there may be some duplicate values. Here I will tell you some tricks to generate random numbers without duplicates in Excel.

Generate unique random numbers with formulas

Generate unique random number with Kutools for Excel’s Insert Random Data (Easy!) good idea3

Easily Insert Random Data without duplicates in a range of cells

If you want to insert random and no duplicate integer numbers, dates, times or strings, even custom lists into a range of cells, the forumula maybe hard to remember. But Kutools for Excel's Inser Random Data can quickly handle these jobs as easily as possible. Click for full features 60 days free trial!
doc insert random data
Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 60 days.

arrow blue right bubble   Generate unique random numbers with formulas

To generate the unique random numbers in Excel, you need to use two formulas.

1. Suppose you need to generate random numbers without duplicates into column A and column B, now select cell E1, and type this formula =RAND(), then press Enter key, see screenshot:

2. And select the whole column E by pressing Ctrl + Space keys simultaneously, and then press Ctrl + D keys to apply the formula =RAND() to the whole column E. See screenshot:

3. Then in the cell D1, type the maximum number of your needed random number. In here case, I want to insert random numbers without repeated between 1 and 50, so I will type 50 into D1.

4. Now go to Column A, select cell A1, type this formula =IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))), then drag the fill handle to next column B, and drag down the fill handle to the range you need. See screenshot:

Now, in this range, the random numbers you need are no repeated.


1. In the above long formula, A1 indicates the cell you use the long formula, D1 indicates the maximum number of the random number, E1 is the first cell of column you apply formula =RAND(), and 2 indicates you want to insert random number into two columns. You can change them as your need.

2. When all the unique numbers are generated into the range, the redundant cells will be shown as blank.

3. With this method, you just can generate random number start from number 1. But with the second way, you can easily specify the random number range.

arrow blue right bubble   Generate unique random number with Kutools for Excel’s Insert Random Data

With above formulas, there are too much inconvenience to handle. But with Kutools for Excel’s Insert Random Data feature, you can quickly and easily to insert the unique random numbers as your need which will saves a lot of time.

Less Time but Higher Productivity

Includes 300+ professional tools for Excel 2019-2003
First version 1.0 was released in 2011, now is the version 18.0
Solves most Excel daily complex tasks in seconds, save your time
60-day free trial without any limitation


After installing Kutools for Excel, please do as below:(Free Download Kutools for Excel Now!)

1. Select the range you need to generate random numbers, and click Kutools > Insert > Insert Random Data. See screenshot:
doc radomize positive negative 11

2. In the Insert Random Data dialog, go to the Integer tab, type the number range you need into the From and To text boxes, and remember to check Unique values option. See screenshot:
doc randomize unique 2

3. Click Ok to generate the random numbers and exit the dialog.
doc randomize unique 3

Note:If your selected cells are more than the random numbers, the redundant cells are displayed as blank.

You also can insert the random unique date, random unique time by Insert Random Data. If you want to have a free trial of Insert Random Data, please downloan it right now!

doc randomize unique 4doc randomize unique 5

Tip.If you want to select or sort data randomly, please try to use the Kutools for Excel’s Sort Range Randomly as shown in the following screenshot. It’s full function without limitation in 60 days, please download and have a free trial now.

doc select randomly

arrow blue right bubble Insert Random Data Without Duplicate

Quickly Insert multiple checkboxes or buttons into a range of cells in worksheet

In Excel, you only can insert one checkbox/button into a cell once time, it will be troublesome if there are multiple cells needed to be inserted checkboxes/buttons at the same time. Kutools for Excel has a powerful utility -- Batch Insert Check Boxes / Batch Insert Option Buttons can insert checkboxes/buttons into the selected cells with one click .  Click for full-featured  free trial in 60-day!
doc insert check box option button
Kutools for Excel: with more than 300 handy Excel add-ins, free to try with no limitation in 60 days.

Recommended Productivity Tools

Office Tab

gold star1 Bring handy tabs to Excel and other Office software, just like Chrome, Firefox and new Internet Explorer.

Kutools for Excel

gold star1 Amazing! Increase your productivity in 5 minutes. Don't need any special skills, save two hours every day!

gold star1 300 New Features for Excel, Make Excel Much Easy and Powerful:

  • Merge Cell/Rows/Columns without Losing Data.
  • Combine and Consolidate Multiple Sheets and Workbooks.
  • Compare Ranges, Copy Multiple Ranges, Convert Text to Date, Unit and Currency Conversion.
  • Count by Colors, Paging Subtotals, Advanced Sort and Super Filter,
  • More Select/Insert/Delete/Text/Format/Link/Comment/Workbooks/Worksheets Tools...

Screen shot of Kutools for Excel

Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Michel · 3 months ago
    How can I do the same thing with a custom list? Not numbers?
    • To post as a guest, your comment is unpublished.
      Paulo Lira · 2 months ago
      Your custom list is in Column A. Lets say it has 100 values and it is located in A1:A100

      Column B is a counter:
      1 for B1 and (B1+1) for B2:B100

      Column C is a random list:
      RAND() for C1:C100

      Column D is a random rank based on the random list:

      Column E is your output:

      Note: There is virtually no chance of generating a duplicate value on column C since RAND() have billions of possibilities. But, if you really want to erase that chance you can type the following formula at column D2:D100
  • To post as a guest, your comment is unpublished.
    Kevin · 8 months ago
    I need to create 5000 random numbers 1-90 no duplicates 30 columes I and using the formula =RAND() and =IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))) is there way that i could change the formula to extract the 5000 numbers
  • To post as a guest, your comment is unpublished.
    JIGGLY BALLS · 2 years ago
    After about three hours of trying to completely understand the long complicated formula to generate random numbers without duplicates, I figured out a far simpler formula that has the same results. After you randomly generate the numbers in a column using the RAND() function, You can simplify the formula:=IF(ROW()-ROW(A$1)+1>$D$1/2,"",RANK(OFFSET($E$1,ROW()-ROW(A$1)+(COLUMN()-COLUMN($A1))*($D$1/2),),$E$1:INDEX($E$1:$E$1000,$D$1))) in cell a1 to =Rank(E1,$E$1:$E$50). Then if you would like 50 random generated "unique numbers." you simply drag the formula through column a to cell a50. It is a lot simpler. Thank you for answering my question regardless of the huge unneeded formula. If you did not have this website. I don't think I would have been able to solve my problem.

    • To post as a guest, your comment is unpublished.
      Manuel Ramirez · 4 months ago
      Actually, if you have two equal values, rank will give the same value to both. Rank formula does return repeated rank values.
      • To post as a guest, your comment is unpublished.
        Paulo Lira · 2 months ago
        Manuel Ramirez.

        The formula RAND() has hundreds of billions of possibilities, but even so you can use a conditional to not repeat the numbers:
        A1 = Rank(E1,$E$1:$E$50)
        A2 = IF(COUNTIFS($E$1:E1;E1)>1;A1+1;Rank(E2,$E$1:$E$50)
  • To post as a guest, your comment is unpublished.
    Bernz · 2 years ago
    Hi, Base on [b]Generate unique random numbers with formulas [/b], How can I specify the starting point of a random number? Let's say I want to random "15 to 30".
    • To post as a guest, your comment is unpublished.
      RK Mohanty · 1 years ago
      Use RANDBETWEEN() to get random numbers lies between two numbers.