Drop Down List in Excel

Drop-down lists are useful when it comes to selecting one item from multiple choices. They are very popular in online forms, especially for languages, countries, cities, etc.

But the web is not the only place you can find them; They can also be present on desktop applications.

Excel is one of them. It offers a pretty extensive set of tools that allows manipulating drop-down in many different ways.

Prepare drop-down list data

To use drop-down lists, you have to prepare data. It’s a good idea to place data in a different worksheet than drop-down lists. This will help you to organize it better and avoid accidental deletions.

Inside our example, there are two sheets: “countries” and “countries data”.

A picture containing graphical user interface

Description automatically generated

On the first tab, we are going to create a drop-down list, and on the second one, there will be a list of countries we are going to use.

Application, table

Description automatically generated

Remember to remove blank spaces inside the source you are going to use for a drop-down list, otherwise, these blank spaces are going to appear inside the drop-down list.

Create a drop-down list

Click the cell B3 and navigate to Data >> Data Tools >> Data Validation.

Graphical user interface, application, Teams

Description automatically generated

From the Settings tab, under Validation Criteria, select List.

After you do this, the source textbox will appear.

Click the arrow next to it, and select cells from cell A2 to A11. Be careful, not to choose the header, otherwise, it will be present inside the dropdown.

After you confirm your selection, it will appear in the source box.

Graphical user interface, application

Description automatically generated

Click OK to insert the drop-down.

At first, it seems that nothing happened, but if you click the cell, you will notice that there is a small button with a triangle inside. Click it to show all the options.

Graphical user interface, application, table, Excel

Description automatically generated

The problem with this approach is that it’s not dynamic. If you add another country at the end of the list, (A12) it won’t appear inside the drop-down.

Table

Description automatically generated

To fix this problem you can do one of two things: You can change the formula inside a validation window or you can create a table from the data and then and then define a name for it.

But changing the formula each time is very tedious and it’s not the way we are supposed to work with Excel, so we are left with the second option.

Using tables with defined names

Click any cell on the second sheet with data, and navigate to Insert >> Tables >> Table or the Ctrl + T keyboard shortcut.

A new window called Create Table will appear.

Graphical user interface, application

Description automatically generated

Make sure that you have My table has headers selected, otherwise, Excel will create a header for you, and the word “Country” will be inside the drop-down list as one of the countries.

Naming the table

To name a table, first, you have to click it. A new special tab, called Table Design will appear. On this tab, under Properties, you can change the table name. I called it “tbl_Countries”.

Graphical user interface, application

Description automatically generated

Define a name

After you defined a name for the table, Now, it’s time to define a name for table data.

Select all cells, except headers, inside a table (A2:A11) and navigate to Formulas >> Defined Names >> Define Name.

Graphical user interface, text, application

Description automatically generated

Name the new range “lst_Country”, and set a reference to “=tbl_Countries[Country]”. Because we want to use it on the first worksheet, leave Scope as is.

Graphical user interface, application

Description automatically generated

You can check and edit defined names in the Name Manager, under Formulas >> Defined Names.

And indeed, there is our table and range we’ve just defined.

Graphical user interface, text, application, email

Description automatically generated

Let’s move back to the first sheet and add the new drop-down. It’s going to look like this:

Graphical user interface, application

Description automatically generated

When you have a mouse cursor inside the Source textbox, you can press F3 and choose one of the created lists.

Graphical user interface, application

Description automatically generated

To see how it works, add a new country at the end of the list.

Table

Description automatically generated

This new entry will be automatically added to the dropdown list.

Graphical user interface, application, table

Description automatically generated

Sorting

You can’t sort a drop-down list after you create it, but you can sort the table, and the drop-downs that use it as a source will be automatically updated.

Entering data manually

If you have a drop-down list with a few items that don’t change, instead of using a list of cells, you can add values inside the Source textbox.

Graphical user interface, application

Description automatically generated

Click OK to see that these three values are inside a cell as a dropdown list.

Graphical user interface, application, table, Excel

Description automatically generated

It’s good to know that you have this option, but since you already have a sheet with drop-down elements, it’s better to keep them there so you have all your data in the same place.

Input messages and error alerts

With a drop-down list, you can give users some guidance on what to do when they click it. These are input messages and error alters.

Input Message

The input message is just a hint for a user – a simple message on what to do with a drop-down.

Graphical user interface, text, application, email

Description automatically generated

Click OK. Now, the message will appear when you click a cell with the drop-down list.

Application, table, Excel

Description automatically generated

If you have a lot of similar drop-down list, it may be wise to add just one or two, as repeating the same message many times can be irritating to a user.

You can press Esc or click away from the cell for a message to disappear.

Error Alert

Instead of choosing from the drop-down list, you can type a name, but if you enter a value that is not on the selected list, you will receive a generic error message.

Graphical user interface, application

Description automatically generated

To override this message, you can write the specific one for the list.

Graphical user interface, text, application

Description automatically generated

This error alert works the same as the previous one, but with a different message.

Graphical user interface, application

Description automatically generated

This entry will not be accepted, so you have to click Cancel and type and reselect something that is on the list.

Warning and Information

The warning and information messages are very similar. Contrary to the Stop alert, which doesn’t allow you to enter data. These messages will only display information that the value you’ve just entered is not present on the list. You have the option to enter the value anyway.

Warning

The warning is information that the creator of this drop-down probably thinks you made a mistake while typing, but you can add it anyway if you are sure of your entry.

Graphical user interface, application

Description automatically generated

Information

This is just a hint. It’s less strict than a warning message.

Graphical user interface, application

Description automatically generated

These messages are optional but may be helpful in some cases when you may feel that it will help users.

Add/remove items

A drop-down list is usually connected to a table. If you want to do operations such as adding and removing items, you have to do it there.

To add an element to a drop-down list, add one at the end of the table.

Table

Description automatically generated

To add an entry in a particular position, you have to use an insert feature. Let’s say you want to add Spain between France and Italy, right-click the row number (9) and choose Insert.

There is an empty position between these two rows. You can add “Spain” there. It will be reflected in the drop-down.

Graphical user interface, application, table, Excel

Description automatically generated

Remove a drop-down list

You can remove single or multiple drop-down lists at once. Select cell or cells with dropdowns and navigate to Data >> Data Tools >> Data Validation. In the bottom-left corner, there is the Clear All button.

Graphical user interface, application

Description automatically generated

Format

Formatting drop-down lists look the same as formatting any other cells. It will be applied only for the selected cell and not for those inside a drop-down list.

Graphical user interface, application, table, Excel

Description automatically generated

Copy

There are two ways to copy drop-down lists. The first one is to use Ctrl + C and then Ctrl + V. It will copy a list and visual formatting.

A picture containing graphical user interface

Description automatically generated

If you want to copy the drop-down list without formatting, copy the cell and instead of standard pasting, use Paste Special.

Graphical user interface, application

Description automatically generated

From the Paste Special options, choose Validation.

Graphical user interface, text, application

Description automatically generated

The value is pasted without formatting.

You can also copy the drop-down list with formatting and then use Format Painter (Home >> Clipboard). After you click Format Painter, click an empty cell and then drop-down. It will format the drop-down in the same way as an empty cell – without formatting.

A picture containing timeline

Description automatically generated

Apply changes to all other cells

After you copied the same drop-down list into many cells, you want to change it. You can either do it for a single or multiple drop-downs you’ve copied.

Choose one drop-down and click the Data Validation button. At the bottom of the window, there is an option. Uncheck it if you want to change a single drop-down, or check it if you want to make changes to all copied drop-downs.

Graphical user interface, application, Word

Description automatically generated

Security

We usually place data used in a drop-down list on the second sheet. You may want to protect this worksheet, so nobody can make changes to it.

To do it, select a sheet you want to restrict, and navigate to Review >> Protect >> Protect Sheet.

Graphical user interface, text, application

Description automatically generated

You can add a password, otherwise, people can unprotect it.

You can also right-click the worksheet tab and select Protect Sheet.

Graphical user interface, application

Description automatically generated

Fix potential problems

There are a few problems you can face when you work with drop-down lists.

Missing Items in Drop Down

If you define a range for table elements as you did before, you shouldn’t encounter any problems. You can encounter them if you add an element to the normal range, and you forget to change source data.

Graphical user interface, application

Description automatically generated

As you can see, the source had been selected before the last two options were added that’s why they are not present inside a drop-down list.

Apart from changing the source each time or using tables, there is a third option to deal with this problem.

The last option is to select the whole column.

But you can’t type just =A:A when you have a header because it will be added to a drop-down list. Instead, use the formula with the OFFSET function.

=OFFSET($A$2,0,0,COUNTA($A:$A),1)

This formula adds all cells from column A, but the first one (header).

Now, when you add additional elements they will be visible inside the drop-down.

Entering any value

By default, you can’t enter values into a drop-down list that are not present inside the source. Even if you create a drop-down list with empty cells. But look what’s going to happen if you define a name for a list.

Now, if you add this selection as a source of a drop-down and try to type a value that is not present, you are going to get an error, but Excel behaves differently if you give this range a name and try to use it instead of a range.

Select cells from A2 to A12.

Table, Excel

Description automatically generated

Navigate to Formulas >> Defined Names >> Define Name and call it “withEmptyCells”.

Create a drop-down using this name.

Now, if you try to enter any name it won’t return an error.

Graphical user interface, application, table, Excel

Description automatically generated

It will return an error if you enter as a source the same range or you name a range without any empty cells inside.

There is an option you can check which will force Excel to return an error. In the Data Validation window, you have to uncheck the Ignore blank checkbox.

Graphical user interface, application

Description automatically generated

Now, if you try to enter a value that is not on the list, you will get an error.

Case sensitive

If you enter values that are not inside the drop-down list, you will get an error. But it doesn’t mean that you have to enter them using the same case.

Graphical user interface, application, table, Excel

Description automatically generated

You can use whatever case you want, even some weird ones, and Excel is not going to complain.

But there is an exception.

If you type a list of options directly inside the source textbox. You have to enter the exact case in the drop-down.

Graphical user interface, application

Description automatically generated

Now, if you type one of these values, Excel won’t complain. But if you use a different case, you will get an error.

Graphical user interface, application

Description automatically generated

Dependent Drop-down Lists

Dependent drop-down lists are the lists where one drop-down is dependent on another.

In the following example, we are going to select a food type: fruit or vegetable. Next, depending on this choice, the other drop-down will display the relevant data.

Let’s use the following example:

Table

Description automatically generated

First, under the “Food type”, we are going to add a drop-down.

Click cell D2 and add a new drop-down list. In the Source choose =$A$1:$B$1.

Graphical user interface, application

Description automatically generated

The first drop-down is active.

Table

Description automatically generated

Now, it’s time to create the second one.

This time select the entire table (A1:B6). Go to Formulas >> Defined Names >> Create from Selection.

From the new window, we want to uncheck the Left column because we want named ranges for fruit and vegetable types, and not for each fruit.

Graphical user interface, application

Description automatically generated

Now, if you go to the Name Manager, you are going to find two additional named ranges: Fruit and Vegetable.

Click cell E2, and open Data Validation. Enter the formula with the INDIRECT function.

Graphical user interface, application

Description automatically generated

the INDIRECT function takes a text reference as an argument; For example, =INDIRECT(“B3”) returns “Carrot”. Depending on the drop-down value we choose, we have either Fruit or Vegetable, and the function returns these named ranges created before.

If you haven’t chosen an option from the “Food type” list, you are going to get this message:

Graphical user interface, application

Description automatically generated

Click Yes, and the second drop-down will start working the moment you choose a value from the first one.

Vlookup to fill data

Sometimes, when a user selects a drop-down element, he doesn’t need to fill in other data. For example, if he chooses employee ID, which is a unique value, other fields should automatically be filled.

We are going to do it, using the VLOOKUP function.

This is the table we are going to use.

Table

Description automatically generated

Let’s name it “tbl_Employees”.

Now, it’s time to create a drop-down from IDs and fill in other data.

Under “ID”, in cell E2, insert a drop-down with IDs from the table (A2:A10).

Inside cell A2 enter this formula:

=IFERROR(VLOOKUP(E2,tbl_Employees,2,FALSE),"")

It’s going to check cell E2 from the current worksheet, which is “ID”, and return value from the second column in the same row of the table “tbl_Employees”.

For B2 and C2 insert these formulas:

=IFERROR(VLOOKUP(E2,tbl_Employees,3,FALSE),"")
=IFERROR(VLOOKUP(E2,tbl_Employees,4,FALSE),"")

The IFERROR function makes sure that if the formula returns an error, it will leave the cell empty.

Table

Description automatically generated