Creating a drop down list in Excel: static, dynamic, from another workbook

The tutorial demonstrates 4 quick ways to create an Excel data validation list (drop-down list) - based on a list of values, range of cells, named range and a dynamic dropdown. It also shows how to create a dropdown from another workbook, edit and delete data validation lists.

Excel drop-down list, aka drop down box or combo box, is used to enter data in a spreadsheet from a pre-defined items list. The main purpose of using drop down lists in Excel is to limit the number of choices available for the user. Apart from that, a dropdown prevents spelling mistakes and makes data input faster.

How to create an Excel drop-down list

On the whole, there are 4 ways to make a drop down menu in Excel, and all of them have their own strong and weak points. Below you will find a quick outline of the main advantages and drawbacks as well as the detailed step-by-step instructions for each method:

This is the fastest 3-step way to create a drop-down box in all versions of Excel 2016, 2013, 2010, 2007 and 2003.

1. Select a cell or range for your drop-down list.

You start by selecting a cell or cells where you want a drop-down box to appear. This can be a single cell, a range of cells or the entire column. If you select the whole column, a drop down menu will be created in each cell of that column, which is a real time-saver, for example, when you are creating a questionnaire.
Select a cell or range for your drop-down list.

You can even select non-contiguous cells by pressing and holding the Ctrl key while selecting the cells with the mouse.
Select non-contiguous cells by pressing and holding the Ctrl key.

2. Use Excel Data Validation to create a drop-down list.

On the Excel ribbon, go to the Data tab > Data Tools group and click Data Validation.
Use Excel Data Validation to create a drop-down list.

3. Enter the list items and choose the options.

In the Data Validation window, on the Settings tab, do the following:

  • In the Allow box, select List.
  • In the Source box, type the items you want to appear in your drop-down menu separated by a comma (with or without spaces).
  • Make sure the In-cell dropdown box is checked; otherwise the drop-down arrow won't appear next to the cell.
  • Select or clear the Ignore blank depending on how you want to handle empty cells.
  • Click OK and you are done!

Enter the list items and choose the options for your Excel dropdown.

Now, Excel users simply click an arrow next to a cell containing a dropdown box, and then select the entry they want from the drop down menu.
Excel users click an arrow next to a cell containing a dropdown box, and then select the entry they want from the drop down menu.

Well, your drop-down box is ready in under a minute. This method works well for small Excel data validation lists that are unlikely to ever change. If it's not the case, consider using one of the following options.

This method of creating an Excel data validation list takes a bit more time, but it may save even more time in the long run.

1. Type the entries for your drop-down list.

Select the entries you want to appear in your drop-down menu in an existing worksheet or type the entries in a new sheet. These values should be entered in a single column or row without any blank cells.

For example, let's create a drop-down list of ingredients for your favorite recipes:
Type the entries for your Excel drop-down list.

Tip. It's a good idea to sort your entries in the order you want them to appear in the drop-down menu.

2. Create a named range.

You can actually skip this step and create your drop-down list based on a range of cells, but named ranges really make managing Excel drop-down lists easier.

  • Select all the entries you want to include in the drop down list, right-click them, and choose Define Name from the context menu. Alternatively, you can click Name Manager on the Formulas tab or press Ctrl + F3.
  • In the Name Manager dialog, click New.
  • In the Name field, type a name for your entries, make sure the correct range is displayed in the Refers to box, and then click OK. Be sure your range name doesn't have any spaces or hyphens, use underscores (_) instead.

Give a name to the range and make sure it includes the cells you want.

Tip. A faster way to create a named range in Excel is to select the cells and type the range name directly in the Name Box. When finished, click Enter to save the newly created named range. For more information, please see how to define a name in Excel.
The fastest way to create a named range in Excel.

3. Apply Data Validation.

Click in the cell where you want the drop-down list to appear - it can be a range of cells or the entire column, in the same sheet where your list of entries is located or in a different worksheet. Then, navigate to the Data tab, click Data Validation and configure the rule:

  • In the Allow box, select List.
  • In the Source box, type the name you gave to your range preceded by an equal sign, for example =Ingredients.
  • Make sure the In-cell dropdown box is checked.
  • Click OK.

Configure your Excel drop-down list.

Note. If you are creating a drop-down based on a named range, and that named range has at least one blank cell, selecting the Ignore blank box allows any value to be entered in the validated cell.

If the source list contains more than 8 items, your drop-down box will have a scroll bar like this:
An Excel drop-down list with a scroll bar

Instead of using a regular named range, you can convert your data to a fully functional Excel table (Insert > Table or Ctrl + T), and then create a data validation list from that table. Here's how:

  1. Create a named range for a column of data, not including the header cell in the table. To refer to the data cells, you can use one of the following methods:
    • Point to the top of the heading cell, and when a black down arrow appears, click to select all the cells in the table column without a header. Then, type the name for the selected range in the Name box.
      Creating a name for a table column
    • Open the Name Manager and enter a structured reference such as =Table[Column] in the Refers to box:
      Creating a name based on the table column
  2. Create a data validation list based on a named range like explained in the previous example.

Why may you want to use a table? First and foremost, because it lets you create a dynamic drop-down list that will update automatically as you add or remove items from the table.

To create a drop-down box based on a range of cells, carry out these steps:

  1. Type the items in separate cells.
  2. Select the cell where you want the drop-down list to appear.
  3. On the Data tab, click Data Validation.
  4. Place the cursor in the Source box or click the Collapse Dialog icon, and select the range of cells to include in your drop-down list. The range may be in the same or in a different worksheet. If the latter, you simply go to the other sheet and select a range using a mouse.
    Making a drop down box based on a range of cells.

Create a dynamic (automatically updated) Excel dropdown

If you often edit the items in the drop-down menu, you may want to create a dynamic drop down list in Excel. In this case, your list will get updated automatically in all the cells that contain it, once you remove or add new entries to the source list.

The easiest way to create such a dynamically updated drop-down list in Excel is by creating a named list based on a table. If for some reason you prefer a usual named range, then reference it using the OFFSET formula, as explained below.

  1. You start by creating a usual dropdown based on a named range as described above.
  2. In step 2, when creating a name, you put the following formula in the Refers to box.

    =OFFSET(Sheet1!$A$1,0,0,COUNTA(Sheet1!$A:$A),1)

    Where:

    • Sheet1 - the sheet's name
    • A - the column where the items of your drop-down list are located
    • $A$1 - the cell containing the first item of the list

As you see, the formula is comprised of 2 Excel functions - OFFSET and COUNTA. The COUNTA function counts all non-blanks in the specified column. OFFSET takes that number and returns a reference to a range that includes only non-empty cells, starting from the first cell you specify in the formula.
Creating a dynamic drop-down list in Excel using the OFFSET formula

The main advantage of dynamic drop-down lists is that you won't have to change the reference to the named range every time after editing the source list. You simply delete or type new entries in the source list and all of the cells containing this Excel validation list will get updated automatically!

How this formula works

In Microsoft Excel, the OFFSET(reference, rows, cols, [height], [width]) function is used to return a reference to a range consisting of a specified number of rows and columns. To force it to return a dynamic, i.e. continuously changing range, we specify the following arguments:

  • reference - cell $A$1 in Sheet1, which is the first item of your drop-down list;
  • rows & cols are 0 because you don't want to shift the returned range either vertically or horizontally;
  • height - the number of non-empty cells in column A, returned by the COUNTA function;
  • width - 1, i.e. one column.

You can make a drop-down menu in Excel using a list from another workbook as the source. To do this, you will have to create 2 named ranges - one in the source book and another in the book where you wish to use your Excel Data Validation list.

Note. For the drop-down list from another workbook to work, the workbook with the source list must be open.

A static dropdown list from another workbook

The dropdown list created in this way won't update automatically when you add or remove entries in the source list and you will have to modify the source list reference manually.

1. Create a named range for the source list.

Open the workbook that contains the source list, SourceBook.xlsx in this example, and create a named range for the entries you want to include in your drop-down list, e.g. Source_list.
Create a named list in the source workbook.

2. Create a named reference in the main workbook.

Open the workbook in which you want the drop down list to appear and create a name that references your source list. In this example, the completed reference is =SourceBook.xlsx!Source_list
Create a name in the main workbook that references the source list.

Note. You have to enclose the workbook's name in apostrophes (') if it contains any spaces. For example: ='Source Book.xlsx'!Source_list

3. Apply Data Validation

In the main workbook, select the cell(s) for your drop-down list, click Data > Data Validation and enter the name you created in step 2 in the Source box.
Apply Data Validation.

A dynamic dropdown list from another workbook

A dropdown list created in this way will get updated on the fly once you've made any changes to the source list.

  1. Create a range name in the Source workbook with the OFFSET formula, as explained in Creating a dynamic drop-down.
  2. In the main workbook, apply Data Validation in the usual way.

Excel Data Validation does not work

The Data Validation option is greyed out or disabled? There are a few reasons why that might happen:

  • Drop-down lists can't be added to protected or shared worksheets. Remove the protection or stop sharing the worksheet, and then try to click Data Validation again.
  • You are creating a drop down list from an Excel table that is linked to a SharePoint site. Unlink the table or remove the table formatting, and try again.

In most cases, the Settings tab's options we've discussed above absolutely suffice. If they don't, two more options are available on the other tabs of the Data Validation dialog window.

Display a message when a cell with the dropdown is clicked

If you want to show your users a pop up message when they click any cell containing your drop-down list, proceed in this way:

  • In the Data Validation dialog (Data tab > Data Validation), switch to the Input Message tab.
  • Make sure the option Show input message when cell is selected is checked.
  • Type a title and message in the corresponding fields (up to 225 characters).
  • Click the OK button to save the message and close the dialog.

Configuring a message to be displayed when a cell with the drop-down list is clicked.

The result in Excel will look similar to this:
A message is displayed when a cell with the drop-down list is clicked.

Allow users to enter their own data in a combo box

By default, the drop-down list you create in Excel is non-editable, i.e. restricted to the values in the list. However, you can allow your users to enter their own values.

Technically, this turns a drop-down list into an Excel combo box. The term "combo box" means an editable dropdown that allows users to either select a value from the list or type a value directly in the box.

  1. In the Data Validation dialog (Data tab > Data Validation), go to the Error Alert tab.
  2. Select the "Show error alert after invalid data is entered" box if you want to show an alert when a user attempts to enter some data that is not in the drop-down menu. If you don't want to show any message, clear this check box.
  3. To display a warning message, pick one of the options from the Style box, and type the title and message. Either Information or Warning will let the users enter their own text in the combo box.
    • An Information message Information icon is recommended if your users are likely to input their own choices quite often.
    • A Warning message Warning icon will induce the users to select an item from the drop-down box rather than enter their own data, though it does not prohibit custom entries.
    • Stop (default) will prevent people from entering any data that isn't in your Excel drop-down list.

    Allow users to enter their own data in the combo box.

    And this is how your customized warning message may look like in Excel:
    An alert is shown when a user tries to enter some data in the combo box other than is in the drop-down list.

    Tip. If you are not sure what title or message text to type, you can leave the fields empty. In this case, Microsoft Excel will display the default alert "The value you entered is not valid. A user has restricted values that can be entered into this cell."

How to edit an Excel drop down list

After you've created a drop-down list in Excel, you might want to add more entries to it or delete some of the existing items. How you do this depends on how your drop down box was created.

Editing a comma separated drop-down list

If you've created a comma separated drop down box, proceed with the following steps:

  1. Select a cell or cells that reference your Excel Data Validation list, i.e. cells containing a drop-down box that you want to edit.
  2. Click Data Validation (Excel ribbon > Data tab).
  3. Delete or type new items in the Source box.
  4. Click OK to save the changes and close the Excel Data Validation window.
    Editing a comma separated drop-down list
Tip. If you want to apply the changes to all the cells containing this drop-down list, select the "Apply these changes to all other cells with the same settings" option.

Editing a drop-down menu based on a range of cells

If you have created a drop-down box by specifying a range of cells rather than referencing a named range, then proceed in the following way.

  1. Head over to spreadsheet containing the items that appear in your drop-down box, and edit the list in the way you want.
  2. Select the cell or cells containing your drop-down list.
  3. Click Data Validation on the Data tab.
  4. In the Excel Data Validation window, on the Settings tab, change the cell references in the Source box. You can either edit them manually or click the Collapse Dialog icon. Collapse Dialog icon
  5. Click the OK button to save the changes and close the window.
    Editing a drop-down menu based on a range of cells

Editing an Excel drop-down list based on a named range

If you have created a named range based drop-down box, then you can just edit your range's items and then change the reference to the Named Range. All drop-down boxes based on this named range will get updated automatically.

  1. Add or delete items in the named range.
    Open the worksheet containing your named range, delete or type new entries. Remember to arrange the items in the order you want them to appear in your Excel drop-down list.

  2. Change the reference to the Named Range.
    • On the Excel ribbon, go to the Formulas tab > Name Manager. Alternatively, press Ctrl + F3 to open the Name Manager window.
    • In the Name Manager window, select the named range you want to update.
    • Change the reference in the Refers to box by clicking the Collapse Dialog icon Collapse Dialog icon and selecting all the entries for your drop-down list.
    • Click the Close button, and then in the confirmation message that appears, click Yes to save your changes.

    Editing an Excel drop-down list based on a named range

    Tip. To avoid the necessity to update the named range's references after each change of the source list, you can create a dynamic Excel drop-down menu. In this case, your dropdown list will get updated automatically in all associated cells as soon as you remove or add new entries to the list.

How to delete a drop-down list

If you no longer want to have drop-down boxes in your Excel worksheet, you can remove them from some or all cells.

Removing a drop-down menu from selected cell(s)

  1. Select a cell or several cell from which you want to remove drop down boxes.
  2. Go to the Data tab and click Data Validation.
  3. On the Settings tab, select the Clear All button.
    Removing a drop-down menu from selected cell(s)

    This method removes the drop-down menus from the selected cells, but keeps the currently selected values.

If you want to delete both a dropdown and the cells' values, you can select the cells and click the Clear all button on the Home tab > Editing group > Clear.

Deleting an Excel drop-down list from all cells in the current sheet

In this way, you can remove a drop-down list from all associated cells in the current worksheet. This won't delete the same drop-down box from cells in other worksheets, if any.

  1. Select any cell containing your drop-down list.
  2. Click Data Validation on the Data tab.
  3. In the Data Validation window, on the Settings tab, select the "Apply these changes to all other cells with the same settings" check box.

    Once you check it, all of the cells referencing this Excel Data Validation list will get selected, as you can see in the screenshot below.

  4. Click the Clear All button to delete the drop-down list.
  5. Click OK to save the changes and close the Data Validation window.
    Deleting a drop-down list from all cells in the current sheet

    This method deletes a drop-down list from all the cells containing it, retaining the currently selected values. If you created a dropdown based on a range of cells or based on a named range, the source list will also remain intact. To remove it, open the worksheet containing the drop-down list's items, and delete them.

Now you know the basics of Excel drop-down lists. In the next article, we will explorer this topic further and I will show you how to create dependent drop down lists with conditional Data Validation and how to create a drop-down box from another workbook. Please stay tuned and thank you for reading!

You may also be interested in