If you want people to pick a value from a fixed list instead of typing it, a drop-down list is the way to do it. It takes only a few seconds to set up.
It’s useful when you’re getting someone to fill a form or a tracker, or when you’re building interactive Excel dashboards.
Drop-down lists are quite common on websites and apps, and they’re very intuitive for the user.
In this tutorial, I’ll show you how to create a drop-down list in Excel, make it update automatically when you add new items, and a few other useful things you can do with it.
Follow along with the example file
Excel Drop Down List.xlsx
How to Add a Drop Down List in Excel (Using a List of Cells)
Let’s start with the most common way, where the items for the drop-down are already in a list on your worksheet.
Below I have a task tracker with the tasks in column A and the owners in column B.
I want a drop-down in column C so the status of each task can be picked from the Status List in E2:E5.

Here are the steps to create the drop-down list:
- Select the cells where you want the drop-down list (C2:C9 in this example).

- Click the Data tab, and then click Data Validation (it’s in the Data Tools group).

- In the Data Validation dialog box, in the Settings tab, select List in the Allow drop-down.

As soon as you select List, the Source field appears.
- Click inside the Source field and select the cells E2:E5 with your mouse (or type =$E$2:$E$5).

- Click OK.
This inserts a drop-down list in C2:C9. When you select any of these cells, you’ll see a small arrow. Click it and pick the status you want.

You can also open the drop-down with the keyboard shortcut ALT + Down Arrow.
Make sure the In-cell dropdown option in the dialog box is checked (it’s checked by default).
If it’s unchecked, the cell doesn’t show the arrow, but you can still only type the values from the list.
When you select the source cells with the mouse, Excel adds an absolute reference (=$E$2:$E$5 and not E2:E5).
If you type the reference instead, keep the dollar signs so every cell in C2:C9 points to the same list.
Pro Tip: In Microsoft 365, you can type a few letters in a drop-down cell and the list filters to show only the matching items. Handy when the list is long.
This matching works on text anywhere in the item, so typing “prog” finds In Progress. On older versions, you can build a searchable drop-down list instead.
Create a Drop Down List by Typing the Items
In the above example, the items for the drop-down came from cells. You can also type the items directly in the Source field.
This works well for short lists that never change. For example, let’s say you want to show only two options, Yes and No, in the Approved column below.

Here is how you can type the items in the Data Validation Source field:
- Select the cells where you want the drop-down list (C2:C9 in this example).
- Click the Data tab, and then click Data Validation.
- In the Settings tab, select List in the Allow drop-down.
- In the Source field, type Yes,No

- Click OK.
This creates a drop-down list in the selected cells. All the items you typed in the Source field, separated by a comma, show up on separate lines in the drop-down.

Important: If your Windows regional settings use a semicolon as the list separator (common in Europe), type Yes;No instead of Yes,No.
Since the items are hard-coded, you’ll have to open the Data Validation dialog box again whenever you want to change them.
Create a Dynamic Drop Down List Using an Excel Table
The drop-down in the first method uses a fixed range (E2:E5). If you add a new status, such as Cancelled, in cell E6, it won’t show up in the drop-down.
You’d have to go back and update the Source field every time the list changes. A better way is to turn the source list into an Excel Table.
Below I have the same task tracker, with the Status List in E1:E5.

Here are the steps to create a drop-down list that updates automatically:
- Select the Status List, including the header (E1:E5).
- Press Ctrl + T (or go to Insert and click Table).
- In the Create Table dialog box, make sure My table has headers is checked, and click OK.

- Select C2:C9, click the Data tab, and then click Data Validation.
- In the Settings tab, select List in the Allow drop-down.
- Click inside the Source field and select the items in the Table (E2:E5), without the header.

- Click OK.
Now type Cancelled in cell E6, right below the Table. The Table expands to include it, and the drop-down’s source changes to =$E$2:$E$6 on its own.

This method works in every version of Excel since Excel 2007, and it doesn’t need any formula.
Note that you have to select the Table cells in the Source field. If you type the Table reference (such as =tblStatus[Status List]) directly, Excel gives an error.
If your list is on another sheet or you want to use the Table’s name in the source, see how to use an Excel Table as the source for a data validation list.
Create a Dynamic Drop Down List Using a Trim Reference (Microsoft 365)
If you use Microsoft 365, there’s another way to make the drop-down pick up new items, without converting the list into a Table.
You can use a trim reference in the Source field.
It refers to a large range (E2:E100 here), but Excel trims away the empty cells at the end, so only the filled cells show up in the drop-down.
Below is the same task tracker with the Status List in E2:E5.

Here are the steps:
- Select C2:C9, click the Data tab, and then click Data Validation.
- In the Settings tab, select List in the Allow drop-down.
- In the Source field, enter the following:
=$E$2:.$E$100

- Click OK.
Note the dot right after the colon (:.). This is what tells Excel to drop the empty cells at the end of the range.
Now when you add a new status right below the last item, it shows up in the drop-down automatically (as long as it is within E100).

Unlike the OFFSET method below, this one still picks up every item even if there’s a blank cell somewhere in the middle of the list.
The TRIMRANGE function does the same thing, so =TRIMRANGE($E$2:$E$100) also works in the Source field. Both are available only in Microsoft 365.
Dynamic Drop Down List Using OFFSET (Older Excel Versions)
Apart from selecting cells and typing items, you can also use a formula in the Source field. Any formula that returns a list of values can be used to create a drop-down list.
In older versions of Excel, the classic way to make the drop-down update on its own is a formula that uses the OFFSET function with COUNTIF.
Below is the same task tracker with the Status List in E2:E5.

Here are the steps:
- Select C2:C9, click the Data tab, and then click Data Validation.
- In the Settings tab, select List in the Allow drop-down.
- In the Source field, enter the following formula:
=OFFSET($E$2,0,0,COUNTIF($E$2:$E$100,"<>"))

- Click OK.
This creates a drop-down list that shows all four statuses, and it picks up any new status you add below E5.
How this formula works:
- The syntax of the OFFSET function is =OFFSET(reference, rows, cols, [height], [width]).
- The reference is E2, the starting point of the list. Rows and cols are 0, as we don’t want to move away from E2.
- The height is COUNTIF($E$2:$E$100,”<>”), which uses the COUNTIF function to count the non-blank cells in E2:E100. Right now, that’s 4.
- So the formula returns the four cells starting from E2 (E2:E5). When you add a fifth item, the count becomes 5, and the range grows to E2:E6.
If you had a fixed number of items, you could also use a plain number for the height, such as =OFFSET($E$2,0,0,4). But then the drop-down wouldn’t update when the list changes.
To see what the formula returns, enter it in any empty cell. In Microsoft 365, it spills the full list.
In older versions, select the formula in the formula bar and press F9 to see the array of items.

Important: For this to work, there must NOT be any blank cells in between the filled cells. A blank cell makes the count one short, and the last item drops out of the drop-down.
If you’re on Excel 2007 or later, the Excel Table method gives you the same result without a formula.
Use a Formula to Create a Sorted Drop Down List of Unique Items
Sometimes the items you want in the drop-down are in a column that has repeats. For example, below I have a project assignment log where each project appears more than once.
I want a drop-down in column B that shows each project only once, sorted A to Z.

If you’re on Microsoft 365, the drop-down already removes the repeats for you. If you point it directly at E2:E11, each project shows up only once.

But there are two catches. The items stay in the order they appear in the column (they’re not sorted), and a blank cell in the range still shows up as an empty row.
Also, this is a fairly recent change in Microsoft 365. Older versions, such as Excel 2019, show every repeat in the drop-down.
So if you want a sorted list, or your file will also be opened in a version without this change, it’s better to build the list with a formula.
The UNIQUE function with SORT can give you this list. But you can’t put this formula directly in the Source field.
Important: If you type =SORT(UNIQUE(E2:E11)) in the Source field, Excel shows an error. The Source field doesn’t accept these functions directly.
The workaround is to put the formula in a cell first, and then point the drop-down to its result.
Here is the formula I’ve entered in cell G2:
=SORT(UNIQUE(E2:E11))

This returns the four projects in alphabetical order. The result spills down to G5 on its own, so you don’t need to copy the formula.
Now here are the steps to use this list in the drop-down:
- Select B2:B9, click the Data tab, and then click Data Validation.
- In the Settings tab, select List in the Allow drop-down.
- In the Source field, enter the following:
=$G$2#

- Click OK.
The # after G2 is the spill range operator. It refers to the whole result of the formula in G2, however many rows that is.

So if the formula returns five projects tomorrow, the drop-down shows five projects. This works in Excel 2021, Excel 2024, and Microsoft 365.
The formula above uses a fixed range (E2:E11). If your log keeps growing, point the formula at a Table column or use a trim reference (E2:.E100) so new entries are included.
You can use the same trick with any formula that returns a list, such as FILTER.
Copy a Drop Down List to Other Cells
You can copy and paste a cell that has a drop-down list, and the drop-down gets copied as well.
For example, if you have a drop-down list in C2 and you want it in C3:C9 as well, simply copy C2 and paste it in C3:C9.
Along with the drop-down, this also copies the value and formatting of C2.
If you only want to copy the drop-down, here are the steps:
- Copy the cell that has the drop-down.
- Select the cells where you want the drop-down.
- Go to Home, click the Paste drop-down, and click Paste Special (or press Ctrl + Alt + V).

- In the Paste Special dialog box, select Validation.

- Click OK.
This copies only the drop-down, and not the value or formatting of the copied cell.
You need to be careful when copying the other way round, though.
Important: If you copy a cell without a drop-down and paste it over a cell that has one, the drop-down is gone. Excel doesn’t show any warning when this happens.
So it helps to know exactly which cells have a drop-down before you paste anything.
How to Find All Cells That Have a Drop Down List
In a large sheet, it’s hard to tell which cells have a drop-down list. The arrow only shows up when you select the cell.
Instead of checking each cell, there is a quick way to select all the cells that have a drop-down list (or any other data validation rule) in one go.
- Go to Home, click Find & Select, and then click Go To Special.

- In the Go To Special dialog box, select Data validation.

Data validation has two options below it: All and Same.
All selects every cell that has a data validation rule. Same selects only the cells that have the same rule as the active cell.
- Click OK.
This instantly selects all the cells that have a data validation rule, and this includes drop-down lists.
Now you can give these cells a border or a background color, so they’re easy to spot and you don’t accidentally paste over them.
Here is another technique by Jon Acampora you can use to always keep the drop-down arrow visible. You can also see some ways to do this in this video by Mr. Excel.
Make the Second Drop Down Depend on the First
Sometimes, you want the items in a second drop-down to depend on what’s selected in the first one. These are called dependent or conditional drop-down lists.
Here is a video on how to create a dependent drop-down list in Excel.
Below I have the employees of three departments in columns A to C. When I pick Sales in E2, I want the drop-down in F2 to show only the Sales team.

The classic way to do this uses named ranges and the INDIRECT function:
- Select A1:C4, go to Formulas, and click Create from Selection (or press Control + Shift + F3). Check only Top row. This creates three named ranges: Marketing, Sales, and Finance.
- The first drop-down in E2 uses =$A$1:$C$1 as the source, so it lists the three departments.
- The second drop-down in F2 uses =INDIRECT(E2) as the source.

When you select Sales in E2, INDIRECT(E2) refers to the named range Sales, so the drop-down in F2 lists Marcus, Ravi, and Nina.
If a department name has more than one word (such as Human Resources), Excel names the range Human_Resources.
That’s because a named range can’t have spaces, so Excel swaps each space for an underscore.
In that case, use =INDIRECT(SUBSTITUTE(E2,” “,”_”)) instead, where the SUBSTITUTE function swaps the spaces for underscores.
Also note that if you change the first drop-down after making a selection in the second one, the second one doesn’t clear on its own.
It keeps the old name, which is now a wrong entry. Here is a great tutorial by Debra on clearing dependent drop-downs when the selection changes.
For the full step-by-step method, a newer way that doesn’t need INDIRECT, and multi-level drop-downs, see how to create a dependent drop-down list in Excel.
So these are the ways you can create a drop-down list in Excel, from a simple list of cells to one that updates on its own as your list grows.
I hope you found this Excel tutorial useful.
Other Excel tutorials you may also like:
- Extract Data from Drop Down List Selection in Excel
- Select Multiple Items from a Drop Down List in Excel
- Creating a Dynamic Excel Filter Search Box
- Display Main and Subcategory in Drop Down List in Excel
- How to Insert Checkbox in Excel
- Using a Radio Button (Option Button) in Excel
- How to Remove Drop-Down List in Excel?
- Create Data Validation List from Excel Table as Source
- Creating Multiple Drop-down Lists in Excel without Repetition
- Excel Data Entry Tips
how to download calculation ot formula
When I try to use an OFFSET formula in my Source field in Data Validation, I’m getting an error message (“there’s a problem with this formula…”) even though the formula works correctly when in a cell by itself. Any ideas why this would happen?
How do you create a dropdown list with dates? For example, November 1, 2020, November 1, 2021, November 1, 2022 etc.
Is there any way to make a relational database in excel where i can keep entry cells different and link them to another set of entries. for eg : category in one table linked to products offered in another table. If there is please answer?
It is possible. I see two or options: (a) fomulaicially, largely using referencing functions, eg index, lookup etc with logical functions probably, or (b) programatically using Excel VBA.
A programmatic solution, using Excel VBA, would need to be supported by using VBA equivalents of spreadsheet functions or where they don’t exist in Excel VBA using the Excel VBA “Application.Spreadsheetfunction …” method to access spreadsheet functions. Knowledge of conditional branching, eg “If”, “Select Case” and looping, For/Next, “Do Until” constructions would be very useful, if not essential in acheiving a programmatic solution. In addition you can make use of VBA User forms for editing records, or creating a spreadsheet-based form which writes and reads record data items from other sheets of data tables. If using either VBA User Form or a spreadsheet template to display records they would need to be accompanied by user entry text fields, buttons, dropdowns, etc (Controls in VBA speak) or cell(s) for fields, Shapes for buttons and spreadsheet dropdowns (data validation) cells. VBA buttons and spreadsheets would have VBA code assigned to them that would be executed when the cuttons are clicked.
I followed your video to do some assignment. I did it very successful and my supervisor was very happy. Thank-you for the good work you have done by putting all the steps.
Hi, I’m working on an offset dropdown list so that each item is listed once. Say for example that I have 10 items to select, across a possible 20 rows. I noticed that once 10 rows are filled in with the items, the dropdown doesn’t show any items to select (as planned) but I’m able to include any free text in the other void rows, effectively bypassing the dropdown validation. What am I doing wrong?
thanks!
Hello, I was wondering how or if it is even possible to use the Dynamic Drop Down List function to work across different sheets? To keep my spreadsheets clean I keep info used to populate the various pull down lists on one sheet but use them on another. Thank you
Hi Sumit,
Your videos are very helpful and you make it very easy and clear to understand.
Keep up the great work and thank you for making Excel look not nearly as daunting as I thought it would be
I want to create a drop down list where I have full names, but when I choose one of those, instead of the cell shows the full name, it displays only the first letter. For example, the drop down shows Javier, but when I choose that the cell only shows J. How can I do this? Thank you.
I’ve got one spreadsheet that has a huge number of cells that have dynamic drop-down lists, and it is running painfully slow, which I think is caused by having INDIRECT in thousands of cells’ validation. Is there a way to get a dynamic drop-down list that doesn’t use INDIRECT or OFFSET? I’ve tried using INDEX():INDEX() formulas but it’s just throwing an error.
WOW THENKS
Question,
In our Petanque club, we have club matches member A and B playing against members X and Y.
Creating a sheet for the results I can use input dropdown lists, with all the members (200+) in, but often I know the first name, but what was the surname again?
Is there a way to start typing in the list so it starts filtering all the John’s or Mary’s in the list?
Would help me a lot, thanks
Great
This tutorial is very comprehensive and very helpful. Do more videos, would love to subscribe to your tutorials. Good job!
I Have a query, i have drop-down ( pre & post as inputs) now i want that when i select “pre” i should get the value “x” and when i select post i should get value as blank( like total empty field) , can you suggest any method.
This was helpful. Question: If I want an option which adds 2 items from the list together, how do I do that? I pull in data from a separate sheet using a list which updates my formulas. I need to see POS (point of sale) numbers and APOS (after point of sale) numbers separately and both added together. how do I do this?
Hi, I really enjoyed the instructional videos and have created my own dynamic drop down list. I have two questions:
1. Is there a way to have the drop down list working with the keyboard? (Every time I press the down button my excel workbook closes.)
2. After typing in the name I want to see, can I have the option to scroll down?
I would very much appreciate the help!
thanks for the excel book
Pl. add a pdf file to read the excel training
I’m using the indirect function to create dependent drop down lists. Why do I need to place an underscore “_” in front of some of my drop down items with similar but not the exact name? For example, DV, DV0 and DV30. Excel is forcing me to use _DV0 and _DV30 as my drop down items rather than simply DV0 and DV30.
‘DV30’ could be a cell reference (column DV, row 30) and you can’t give a range a name that could also be a cell reference.
VERY HELPFUL
It was explained in a very simple and clear manner. Appreciated it. Thank you for the video
Thanks for the excellent work
Very helpful to me. Thanks
Doesn’t work. Downloaded example does nothing when you select fruits. Formula is different than example on this page for use of INDIRECT
I understand all that has been written above about independent drop down lists, works great. The problem I have is doing exactly the same but with different workbooks. I have used two workbooks for one drop down and it works with no problem. I have also tried and independent drop down in the same workbook and that also works fine, but as soon as I try to do an independent list, using indirect, in two different workbooks it does not work. I have spent so much time trying to get it to work…my latest attempt is that I have two drop downs in my target file that but they are not independent….can you help!!!
Nice
Hi, I am creating a rota where different tasks/assignments are selected and I want to use drop down lists to select names. The problem is, because it is based on skill levels, I want only those people who have those skills to show on each relevant drop down list.
The source I want to use is another sheet with names and check boxes that can be ticked to say they have the relevant skill/s.
I don’t know how to link the names-tick boxes-drop down lists all together.
Dear brother, I’m very grateful to you. Very helpful indeed!
This is extremely helpful! Thank you so much! Do you know if there is a way to keep the formatting from the original list so that it populates those format changes into the lists when they are created? An example would be that when an option is chosen in the list, that cell is formatted red where others cells (options) are different or no colours. I can’t seem to figure this one out. Thank you!
By far the most helpful website on this topic!!
Hi Hi
Can you make the drop down bigger and readable ,. like i have really a long list of supplier names and its rather small , but was wondering any idea to make the drop down bigger.
Serena
how do I remove an entry from the drop down list selection? I would like to be able to select the same entry again to remove. Essentially selecting again should add back the entry.
Pls kindly help me with all the necessary info on EXCEL
how do you use dependent drop down list with the first condition being a range of value? for example, if cell A2=100, D,E,F will appear on drop down list?
Thank you… excellent explanation. But how do I provide a drop down list that provides the option to complete a response (e.g. a name) that was not in the original list) and better still… have this name automatically included in the database for future drop downs?
Consider a list of employees that changes,staff coming in, going out, being able to add a name in the form rather than searching the list must be an advantage others have sought
Very Nice…..