Excel Drop-Down Lists: Accurate Input and Dependent Lists with Data Validation

How to Create Excel Drop-Down Lists: Accurate Input with Data Validation

Excel drop-down lists use Data Validation to create selection boxes in cells, preventing typos and formatting errors. With tables, UNIQUE, and FILTER, lists update automatically as they grow, and you can even create linked (dependent) lists.

Quick Fix (3 Minutes)

  1. Convert the source list to a table (Ctrl+T) and name it ListT.
  2. Select the drop-down cell → Data > Data Validation → Allow = List.
  3. Set Source to =ListT[Item] or a spill reference (=F2#).
  4. Set an Input Message and Error Alert for guidance and restrictions.

Auto-Expanding Drop-Down Lists

Table References

Using =ListT[Item] as the source automatically includes new items when they are added.

UNIQUE Spill

=SORT(UNIQUE(ListT[Category]))   // Spills from F2

Drop-down source: =F2#

Linked (Dependent) Drop-Down Lists

INDIRECT Method (Legacy)

=INDIRECT($C$2)   

Create named ranges in advance with names that match the parent values.

FILTER Method (Recommended for Microsoft 365)

=SORT(UNIQUE(FILTER(CityT[City], CityT[Region]=$C$2)))

Child drop-down source: =G2#

Other Sheets, Hidden Sheets, and Protection

  • Define a name: ItemList = DataSheet!$A$2:$A$200 → Source: =ItemList
  • Hide the list sheet, unlock only the drop-down cells, then protect the sheet.

Input Messages and Error Alerts

  • Input Message: A guidance tooltip displayed when the cell is selected
  • Error Alert: Choose Stop, Warning, or Information
  • Clear “Ignore blank” to require a selection

Troubleshooting

IssueCauseSolution
New items are not includedFixed rangeSwitch to a table reference or spill # reference
Error when referencing another sheetData Validation limitationUse a defined name as a workaround
Dependent list is emptyParent value is blank or misspelledRequire a parent selection and provide guidance with an Input Message
#SPILL! errorNo room for the spill rangeClear nearby values or move it outside the table
INDIRECT is slowMany names or heavy calculation loadSwitch to the FILTER method

Related Posts

Leave a Reply

Your email address will not be published. Required fields are marked *