Advanced Data Validation Techniques in Excel
Advanced Data Validation Techniques in Excel
Excel
Advanced Data Validation Techniques in
Excel [spreadcheats]
Posted on November 25th, 2008 in Learn Excel - 20 comments
Data validation is a great way to keep your users informed about possible values in a cell
and guide them to select something appropriate. As part of the spreadcheats series, in this
post we will discuss 2 advanced data validation techniques that can help you when you
are modeling a complex worksheet.
PS: Many thanks to Alex who proposed this idea and solution through e-mail.
You have a cell where user can enter any value from 2 lists. But you don’t want to
overload the in-cell drop down list with tons of values, and rather prefer a simpler
approach like this:
Solution: Use an IF() formula in validation criteria
Select the cell where you want to have this type of validation
Go to menu > data > validation
In the criteria area, select “allow” as “list”
In the source area, specify a formula like this: =IF($B$7="Full List",Full-
list-range,Partial-list-range)
That is all, you now have a data validation list that can change its source based on user
preference.
You have a status tracking spreadsheet where each employee enters the status for each of
the projects they are working on. They enter the status by first selecting the department
and then selecting a project (from that department).
Remember the offset() and match() formulas we discussed in the last spreadcheats?
Assuming the list of projects for each department is in a range B10:C22 with column B
having the department name and column C having the project name and the list is sorted
on column B, we can use offset() and match() combination along with countif (ahem!) to
determine which range to use for project cell drop-down.
For the department cell, we can use simple list validation with values as
“Marketing, Ops, Sales, IT”
For project cell, go to data validation (menu > data > validation) and specify a
formula like this:
=OFFSET(C9,MATCH($B$6,$B$10:$B$22,0),0,COUNTIF(B10:B22,$B$6),1)
What is above formula doing? It is fetching a sub-range from the by finding
where the first entry for the selected department is, returning x number of rows
from that point, where x = no. of projects in that department.
That is all. You now have a list drop-down that changes values based on what is selected
in an earlier cell.