Ok, since excel school 3rd batch is going to open on 15th, I wasnt going to write anything today. I have slept just 4 hours last night, blame it on work (and that funny video on youtube). But I found 30 minutes free time, so here you go, a quick but delicious tip on making your data validation dynamic.
Dynamic Data Validation?!? What in the name of slice bread and peanut butter is that?
We all know that you can tell Excel to limit the input values in a cell to just a list of possible values using data validation (Here is a tutorial).
Let us say, you have set up a nice little data validation list to let your users select one of the several products listed. Like shown to the right.
But there is a problem, the list of products doesnt change whenever we add or remove products.
This is where the dynamic data validation thingie comes in to picture. It same as regular data validation, but with the ability to change input list whenever you have new data. See this short demo to understand:

So, how to setup a dynamic data validation list?
if you are running Excel 2007 or above:
- Select your list of products (or invoices or cats) and make it in to a table. (here is a helpful tutorial on excel tables).

- Now, create a new named range and point it to the table, like this:

- Finally, give the named range as input list in data validation.

- That simple!
if you are running Excel 2003 or earlier:
You are in for a lot of circus now. But be patient and take a sip of coffee. Then,
- Make a dynamic range from your list using OFFSET formula, like this:

- Now, use the range name as input list in data validation.
- Pray to IT infrastructure gods that you should be given Excel 2010, really soon.
Download Example Workbook – Dynamic Data Validation in Excel
Go ahead and download example workbook and understand this concept better. Say goodbye to invalid data!
More resources on data validation & magic:
Some kicks ass stuff to help you do magic in excel thru data validation:
- Excel OFFSET formula tutorial
- Set up data validation in excel
- Advanced data validation tricks
- Excel tables – 10 reasons why you should use them
- …. more data validation tips & tricks
PS: If you like this trick, you are going to enjoy my excel school program. You should sign up, like today.














11 Responses to “Fix Incorrect Percentages with this Paste-Special Trick”
I've just taught yesterday to a colleague of mine how to convert amounts in local currency into another by pasting special the ROE.
great thing to know !!!
Chandoo - this is such a great trick and helps save time. If you don't use this shortcut, you have to take can create a formula where =(ref cell /100), copy that all the way down, covert it to a percentage and then copy/paste values to the original column. This does it all much faster. Nice job!
I was just asking peers yesterday if anyone know if an easy way to do this, I've been editing each cell and adding a % manually vs setting the cell to Percentage for months and just finally reached my wits end. What perfect timing! Thanks, great tip!
If it's just appearance you care about, another alternative is to use this custom number format:
0"%"
By adding the percent sign in quotes, it gets treated as text and won't do what you warned about here: "You can not just format the cells to % format either, excel shows 23 as 2300% then."
Dear Jon S. You are the reason I love the internet. 3 year old comments making my life easier.
Thank you.
Here is a quicker protocol.
Enter 10000% into the extra cell, copy this cell, select the range you need to convert to percentages, and use paste special > divide. Since the Paste > All option is selected, it not only divides by 10000% (i.e. 100), it also applies the % format to the cells being pasted on.
@Martin: That is another very good use of Divide / Multiply operations.
@Tony, @Jody: Thank you 🙂
@Jon S: Good one...
@Jon... now why didnt I think of that.. Excellent
Thank You so much. it is really helped me.
Big help...Thanks
Thanks. That really saved me a lot of time!
Is Show Formulas is turned on in the Formula Ribbon, it will stay in decimal form until that is turned off. Drove me batty for an hour until I just figured it out.