Search Contextures Sites ![]()
Excel Data Validation -- Dependent Dropdowns from a Sorted List
Set up the Workbook
Create a Data Validation Dropdown List
Create a Dependent Dropdown List
Test the Validation
Download the zipped sample file
You can limit the choices in an Excel Data Validation list, by using named ranges and the INDIRECT function, as explained here: Data Validation -- Create Dependent ListsAnother method is to use the OFFSET function, to extract items from a sorted list, as described below. In this example, a region is selected in one column, and the customers in that region will appear in the data validation list in the adjacent cell.
Set up the WorkbookTwo worksheets are required in this workbook.
- Delete all sheets except Sheet1 and Sheet2
- Rename Sheet1 as ValidationSample
- Rename Sheet2 as ValidationLists
On the ValidationLists sheet, type the lists that will be used in the data validation dropdowns:
- In cells A1:B20 type a list of Regions and Customers
Note: This list must be sorted by Region- In cells D1:D4 type a list of Regions
Name the following ranges (there are Naming instructions here: Name a Range):
Create a Data Validation Dropdown ListOn the ValidationSample sheet, type the headings Region and Customer, in cells B1 and C1.
The next step is to create the Region data validation dropdown lists in column B.
- Cells B2:B10 have data validation lists with the source RegionList. When a cell in this range is selected, a dropdown list of Regions is available.
- The formula for the list is:
=IF(C2="",RegionList,INDEX(RegionColumn,MATCH(C2,CustColumn,0)))- The complete region list is shown if no customer has been selected. However, if a customer has been selected in the adjacent cell, only that customer's region is shown in the Region dropdown list.
There are detailed instructions for creating data validation lists here: Data Validation -- Introduction
![]()
![]()
=OFFSET(RegionStart,MATCH(B2,RegionColumn,0)-1,1,COUNTIF(RegionColumn,B2),1)
The OFFSET function has the following arguments:
We want the OFFSET function to return a reference to the range of cells that contains the Ontario customers.
Reference: In our formula, the reference is RegionStart, cell A1 on the ValidationLists sheet.
Rows: How many rows down from the reference cell should our range start? The MATCH function finds the first instance of Ontario in the RegionColumn, in row 6. We subtract 1 from this number, because the starting cell is in row 1.
Columns: We want a range that is 1 column to the right of the RegionStart reference.
Height: The COUNTIF function counts the number of times that region is entered in the RegionColumn. There are 9 customers in the Ontario region.
Width: We want a range that is 1 column wide
Test the Validation
Download the zipped sample file
Contextures Inc., Copyright © 2009.
All rights reserved.
Last updated: November 30, 2009 1:19 AM