Dummy Data – How to use the Random Functions

Share

Facebook
Twitter
LinkedIn

Dummy Data – How to use the Random Functions

Using collected or known data is the best when developing Excel models, but from time to time this may not be available when you are developing your model.

This post will look at some options for setting up Dummy Data using Excels Random functions.

 

Variability

Real data displays a range of variability, but this variability is generally within ranges or distributions of ranges of results.

All fields type can contain variability

ie: Country, State Names and Zip/Postal Codes, Maybe large lists but are fixed

Peoples Names, Maybe a large lists but are fixed by local rules

Ages, generally less than 80, never less than 0

Dates: Rarely before 1990 or 1900 in rare cases

Lists: are fixed

Numbers: generally random or conforming to a fixed distribution or known trend

Numbers: may include integers, decimals, negatives, extremely large numbers or all combinations

In generating random lists you will need to choose if you want random data, random data within constraints or random with a distribution. The choice is really yours and should in part be based on what the data is being used for and how accurately it needs to reflect reality.

 

Techniques

The techniques described below are all shown with a worked example in the attached Examples File or the Excel 2003 Example

 

Each example is annotated below like (Example 4.). ie: Refer to Example 4 in the above example files.

Dates

Setting up Random Dates is a simple process using the Date function.

=Randbetween(StartDate,EndDate)

 

Dates in a Range of Years

=Randbetween(Date(2000,1,1),Date(2011,12,31))

Will give a list of Random dates between 1 Jan 2000 and 31 Dec 2011 (Example 1.)

(Thanx Mike W)

Dates in a Month

=Date(2010, 6, Randbetween(1,30)

Will give a list of Random dates between 1 June 2010 and 30 June 2010 (Example 2.)

 

Don’t worry that the above formula (Example 1) can actually produce a 31 Feb 2005, the Date function will happily convert that to 3 March 2005 (Example 3.)

 

Dates within a Date Distribution

=DATE(2011,7,NORMINV(RAND(), 0,60))

Will give a list of Random dates between approximately 1 Jan 2010 and 31 Dec 2010, with a mean of July 1 and standard deviation of 2 Months (60days) (Example 4.)

Where NORMINV(RAND(), 0,60) will return values between -180 and +180, 99.7% of the time

 

Text Fields

Dependant on how many items in the list you require there are 3 techniques available

Choose

For small lists of less than 6 to 10 items you can use a simple Choose function (Example 5.)

=Choose(Randbetween(1,6),”Item 1″, “Item 2”, “Item 3”, “Item 4”, “Item 5”, “Item 6”)

VLookup

Using VLookup (Example 6.)

=Vlookup(Randbetween(1,List Length), List, 2)

Index

Using Index (Example 7.)

=Index(List, Randbetween(1, Counta(List) ))

Numbers

Small Random List of Numbers

Random from a small list of numbers (Example 8.)

=Choose(Randbetween(1,6), Numb 1, Numb 2, Numb 3, Numb 4, Numb 5, Numb 6 )

Note that the numbers:

  • Don’t have to be in any order,
  • Can be integers, negatives or contain decimals
  • Can be repeated

eg: =Choose(Randbetween(1,6), 18, 21, -19, 36.4, 18, 24)

 

Random Integers

Return Integers between Start and Finish (Example 9.)

=Randbetween(Start, Finish)

=Randbetween(50, 100)

Will return an Integer between 50 and 100

Random Numbers

=Rand()

Will return a random number between 0 and 1

=Round(Rand()*100, 2)

Will Return Numbers between 0 and 100 with 2 Decimal places (Example 10.)

Random Numbers Based on a Distribution

=Norminv(Rand(), Mean, SD)

Will return a random number between 0 and 1 based on a distribution of Average = Mean and Standard Deviation = SD

=Norminv(Rand(), 50, 17)

Will return a random number between 0 and 100 based on a distribution of Average = 50 and Standard Deviation = 17, (Example 11.)

Random Numbers Fitting a Trend

If your distribution has to match a trend add a Random component to the Trends equation (Example 12.)

Y=mX+c

= rand() * X + rand()*5

= rand() * A2 + rand()*5

 

True/False

Choose

Use Choose and Randbetween (Example 13.)

=Choose(Randbetween(1,2), True, False)

If

Use If and Rand (Example 14.)

=If(Rand()<0.5, True, False)

 

Combination Text and Numbers

The above techniques can be combined to make lists of Alpha Numeric Data

Say your business has a fleet of vehicles (TR=Truck, VN=Van, CAR=Car)

=Choose(Randbetween(1,3),”TR”,”VN”,”CAR”) & Text(Randbetween(1,15),”0#”)

Will randomly choose 1 of “TR”,”VN”,”CAR” and add a random number between 1 and 15 to it format with a leading 0, eg: TR05, (Example 15.)

 

Other Sources of Data

Random Data

There are a number of web sites where Random Data is available.

http://www.fakenamegenerator.com/order.php

http://www.generatedata.com/#generator

http://www.melissadata.com/lookups/

Open Source Data

There are a number of web sites where Open Source Data is available.

http://en.wikipedia.org/

http://www.google.com/

http://www.readwriteweb.com/archives/where_to_find_open_data_on_the.php

 

Function Used:

Rand: Returns a random number between 0 and 1.

Randbetween: Returns a random Integer between lower and upper limits. Pre Excel 2007 Randbetween was only available through installation of the Analysis Toolpak (Thanx Luke).

Norminv: Returns the inverse of the normal cumulative distribution. That is it returns the X value from a Normal Distribution that has a know Mean and Standard Deviation where the a known cumulative percentage is supplied.

Choose: Choose an item from a list of up to 254 items.

Vlookup: Lookup the matching value from a list and return a data item from another column from the same location.

Index: Retrieve an items from a defined location within a range.

Text: Displays a number as Text with a defined format.

 

Other Uses of Random Functions

Of course the techniques shown here don’t have to be used for setting up Dummy Data.

One area where Random numbers is used is in Monte Carlo Simulation. This has been discussed at Chandoo.org at Data Tables and Monte-Carlo Simulations in Excel a Comprehensive Guide

 

Techniques

The techniques described above are all shown with a worked example in the attached Examples File or the Examples File 2003 ver

 

Limitations in Pre Excel 2007 versions

The Excel function, Randbetween, was only introduced in Excel 2007. As such the exaples above will only work in 2007/10.

However a simple alternative is available

Randbetween(Low, High) = Low + Int(Rand()*(High-Low))+1

Randbetween(90, 100) = 90 + Int(Rand()*10)+1

Examples using this approach are shown in the 2003 Version of the Examples files above.

 

How have you made Dummy Data or used the Random Functions?

How have you made Dummy Data or How have you used it ?

How have you used Random Numbers in your workbooks ?

Let us know in the comments below:

Facebook
Twitter
LinkedIn

Share this tip with your colleagues

Excel and Power BI tips - Chandoo.org Newsletter

Get FREE Excel + Power BI Tips

Simple, fun and useful emails, once per week.

Learn & be awesome.

Welcome to Chandoo.org

Thank you so much for visiting. My aim is to make you awesome in Excel & Power BI. I do this by sharing videos, tips, examples and downloads on this website. There are more than 1,000 pages with all things Excel, Power BI, Dashboards & VBA here. Go ahead and spend few minutes to be AWESOME.

Read my storyFREE Excel tips book

Overall I learned a lot and I thought you did a great job of explaining how to do things. This will definitely elevate my reporting in the future.
Rebekah S
Reporting Analyst
Excel formula list - 100+ examples and howto guide for you

From simple to complex, there is a formula for every occasion. Check out the list now.

Calendars, invoices, trackers and much more. All free, fun and fantastic.

Advanced Pivot Table tricks

Power Query, Data model, DAX, Filters, Slicers, Conditional formats and beautiful charts. It's all here.

Still on fence about Power BI? In this getting started guide, learn what is Power BI, how to get it and how to create your first report from scratch.

42 Responses to “Prevent Duplicate Data Entry using Cell Validations”

  1. Jair says:

    Hi Chandoo, I need you help in the following problem.
    I'm trying to get a direccion from a found result. With this dirreccion I will want the before cell value. For example, If result of a find is 38 localized in cell $C$2, I need to get previus value (cell $B$2 ), maybe Andrés.

    Do you know some way to do that?

    Thank you for you help.

  2. Lincoln says:

    Hi Chandoo

    Thanks for this. One thing though: In my pre-2007 version of Excel, the COUNTIF function doesn't recognise a semicolon (;), but requires a comma.

    Is the semicolon an Excel 2007 thing?

  3. Chandoo says:

    Jair... I am not sure I understand what you want. what do you mean by Dirreccion?

    @Lincoln: I am sorry, often I forget that I am using European version of excel where the delimiter is ; instead of ,. I have corrected the formula now.

  4. subbu says:

    Thanks for this nice tip, i used to do a find all after filling every new items which was cumbersome.

    Do you know a way to extend this validation search to other tabs/sheets ?

  5. Jair says:

    Thanks for you attention. I'm trying to get of value continue from a found value. Let me show a example:

    Name Years
    John 35
    Maria 28
    Teresa 32

    If I search the max years, the result is 35, but I need that result to be John. Do you know how I can do it?

  6. Chandoo says:

    @Subbu.. you can easily extend the validation to other sheets by pasting the data validations. See the latest article here: http://chandoo.org/wp/2009/10/28/copy-data-validations/

    @Jair.. you can use the large() or small() formulas to do this. for eg. =index(A1:A3,large(B1:B3,1)) will get you the name of the person with highest "years". More help here: http://chandoo.org/excel-formulas/large.html

  7. Jair says:

    Hi, I don't know if I'm using bad the formula or its performance is diferent for my Office version. Large() formula return the value in the cell, in my example 35. The index() formula use a range, row and column. I'm using the large() as number of row, and it is bad because into the range don't have row 35. This is my perception. What do you think?

  8. Chad says:

    Hello,
    I am trying to attempt data validation in Excel Mobile, but the DV tool isnt available. I want to prevent duplicates is all, any advice on acheiving this in Excel Mobile? Thanks..

  9. Chandoo says:

    @Jair... my french aint that good. it starts at "merci" and ends at "beau coup".

    Anyhow, you need to merge the large with vlookup to do this. I am not sure if you have solved the problem. Otherwise let me know with details and I can write the formula in comments.

    @Chad... I have never used excel mobile, so I have no idea. May be they have not implemented data validations in excel mobile.

    Any excel mobile users out there?

  10. Jair says:

    Hi Chandoo, the proposed solution by JlD is interesting. He created a macro to get values when the matrix is not one dimensional, how on my problem. This fuction for me.
    I would like to share you my work, how can I upload?

  11. Chandoo says:

    @Jair.. sorry for such a delayed reply.. you can upload the files to skydrive and link them here. Or you can email them to me at chandoo.d @ gmail.com and I will upload them somewhere. But it could take forever if you email files to me as I am a bit lazy.

  12. [...] Day 31: Advanced Data Validation Tricks in Excel – Part 2 [...]

  13. Muhammad Moin says:

    Hi,

    Can you help me in Microstrategy?

    Br,
    Moin

  14. Ramprasad says:

    really wonderful article. I feel it is implementing Primary Key concept into spreadsheets.

  15. sriram says:

    Hi article on data validation. Excel is a very versatile platform to work with and we use it for all kinds of data tabulation. In fact this must have been the most rudimentary data management tools I must have worked with and knowing such tips only adds functuionality to our user experience. Great article. looking forawrd to read more.

  16. Vasanth says:

    Hi Chandoo,

    Thanks for such a nice idea.

    I tried copy paste the data into the validated area, but the pop-up msg (warning msg) doesn't came. Is it something that we need to update the data manually each time,.

    Do we have any option where we can bulk upload the number and it throws a warning message that the data already exits and do we want to continue with this ?

    Please do reply me.

    Thank you.

    Regards,
    Vasanth.

  17. kochu says:

    It was really useful chandoo...thanks a lot...

  18. Leo says:

    Tried this in excel 2010 and it did not work?
    Could the newer excel have changed that much?

    • Hui... says:

      @Leo

      It works fine in Excel 2010

      The formula used above =COUNTIF($B$4:$B$11,B4)<=1

      only applies to the range B4:B11

      Did you adjust the range to your data?

  19. Tariq Khan says:

    This page helped me accurately to find solution of my question. thanx

  20. Murli says:

    we want to prevent duplicate entries in three columns combined, using data validation, i.e. say, column A has first name and Column B has middle name, Column C has last name. the first name can be duplicate, middle name can be duplicate, last name can be duplicate, but not all three at the same time.

  21. Murli says:

    I want to prevent duplicate entries in three columns combine, using data validation, i.e. say, column A has first name and Column B has middle name, Column C has last name. the first name can be duplicate, middle name can be duplicate, last name can be duplicate, but not all three at the same time.

  22. KokTiong says:

    Hi, I've tried above validation method to prevent duplicate value from entering into the cells. It's work, when user key in the data into the selected range. However, it's not working when user copy-&-paste the info into the same range.

    Please advice. Thanks. 

  23. ZAMEER SHAIKH says:

    Hi Chandoo,
     
    Does it work in Excel 2007?
     
    Please Reply

  24. mahavir says:

    thanks chandoo........

  25. SUSHOBH says:

    it does not work when data is copy pasted...any solution for this??

  26. shaloo says:

    hi i m shaloo and i want to know in excel if i write duplicate no.then it says or show about we are write duplicate no.

  27. Kris says:

    Hi Chandoo

    I've tried using this with a Named Range, which is actually a column in a Table as DV wont accept a table reference, and it wont work.
    Also tried using Offset to specify the Named Range, but that wont work either.

    Is it possible to use Named Ranges with DV?

    Thanks
    Kris

  28. Paula says:

    I have tried the above formula on a table column. The Error box does not pop up, there is only the small ! next to the cell with the duplicate. The column I am working with is formulas that produce a date. Is the reason it doesn't work that the cells contain formulas rather than data?

  29. Ken says:

    The formula works but only if I enter data in cell above it. So for example, if I have "123" in B11 it does not allow me to enter "123" in B10, B9, B8, etc. But I can still enter "123" in B12. Please help! 🙂

  30. Karan says:

    Great tip.. thanks a lot

  31. I have 21 years of experience working as data entry assistant. I constantly read several blogs to keep myself up-to-date with the advances in data entry profession. I really enjoyed this blog post. From my several years of experience, I agree with you 100% when you say, “ We all know that data validation is a very useful feature in Excel. You can use data validation to create a drop-down list in a cell and limit the values user can enter. ”

    Keep blogging. I will come here again.

    --data entry assistant

  32. HaroonRashid says:

    Hi,
    This is really very helpful.
    Thank you

  33. Junaid says:

    how can i assign two validation on a single cell
    one is for list validation (means the data should be from that range)
    second i want to prevent them from repetition

    how can i do this ?
    P7 to P506 have GR# which are for list
    i want to prevent C column to not to repeat and should be from the P column

  34. Gaurav says:

    friend can any one tell me the formula
    exname location qty
    gaurav 1 1
    rofan 2 5
    sandeep 3 6
    gaurav 4 3
    rofan 5 4
    sandeep 6 8
    gaurav 7 9

    If this is a data.
    if i want a formula by which if i type gaurav then all the location and qty should be shown in a new page.
    i had 5,00,000 sku so if i punch one name i can get the entire details

  35. Gaurav says:

    IF(ISERROR(INDEX($B$3:$C$9,SMALL(IF($B$3:$B$9=$B$12,ROW($B$3:$B$9)-ROW($C$2)),ROW(A1:C1)),2)),"",INDEX($B$3:$C$9,SMALL(IF($B$3:$B$9=$B$12,ROW($B$3:$B$9)-ROW($C$2)),ROW(A1:C1)),2))
    please explain

  36. MD. RASEL SARDER says:

    YOUR COUNTIF FORMULA IS REALLY HELPFUL AND WORKS. I TRIED SEVERAL SITES BUT THEIR FORMULA DOES NOT WORK. ONLY YOU HAVE GIVEN A RIGHT FORMULA!
    THANK YOU!!!!!

Leave a Reply