Cellwise Start free

Excel guide · 5 min read

Excel drop-down list not working: 7 fixes

Quick answerIf the arrow is missing, select the cell (the arrow only shows on the active cell), then check Data > Data Validation: In-cell dropdown must be ticked. If it still doesn't show, File > Options > Advanced > For objects, show must be All. If new items don't appear, the source is a fixed range that doesn't include them: base the list on a table or a spill range instead.

Sample data

Every result on this page was calculated from this sheet by the same spreadsheet engine the Cellwise app uses.

ABCDE
1TicketStatusOwnerStatus list
2T-301OpenMayaOpen
3T-302ClosedJonIn progress
4T-303In progress Maya
5T-304WaitingPriyaWaiting
6T-305DoneJonClosed
7T-306OpenPriya
8T-307closedMaya
9T-308In progressJon

1. The arrow doesn't appear

Excel only shows the drop-down arrow on the cell you've selected. Click the cell first. If the arrow still isn't there, work through three settings.

  1. Select the cell and open Data > Data Validation. If Allow says Any value, the cell has no list at all; maybe someone pasted over it (section 4).
  2. On the Settings tab, make sure In-cell dropdown is ticked. With it unticked, the rule still checks entries, but there's no arrow.
  3. If the box is ticked and you still see no arrow, go to File > Options > Advanced, scroll to Display options for this workbook and set For objects, show to All. Pressing Ctrl+6 by accident can switch objects off, and drop-down arrows count as objects.

2. New items don't show up in the list

If the source is a fixed range like =$E$2:$E$6, an item typed into E7 isn't in the list, because the rule still stops at row 6. Excel doesn't stretch it for you.

Fix it once: turn the source list into a table (Ctrl+T) and set the source to the table column's cells; as the table grows, the reference grows with it. In Excel 365, you can also put a spill formula next to the source and point the rule at the spill range with #, like =$G$2#, which updates on its own.

3. Blank lines in the list

Every empty cell in the source range becomes an empty line in the drop-down. This status list was set to E2:E7 "to leave room", and it has a gap at E4 and an empty E7, so the drop-down shows two blank lines. The Ignore blank box doesn't remove them; it only controls whether an empty cell counts as valid.

Delete the gaps, or build a clean list with FILTER and point the rule at the spill range. Wrap it in SORT if you want the items in order.

=FILTER(E2:E7,E2:E7<>"")

Result: spills 4 rows × 1 column

Open
In progress
Waiting
Closed

Spills Open, In progress, Waiting and Closed with no gaps. Point the drop-down at this range with # and new items appear automatically. =COUNTBLANK(E2:E7) returns 2, the blank lines in the old list.

4. Wrong values got in anyway

Data validation only checks what people type. A normal paste replaces the target cell's validation rule along with its value, so the cell stops having a drop-down at all. Paste Special > Values keeps the rule but doesn't check the pasted value. Values that were already in the cells before you added the rule aren't checked either.

Also check the Error Alert tab. If Style is Warning or Information, people can click Yes or OK and enter anything. Only Stop blocks invalid entries.

To find what slipped through, use Data > Data Validation (the arrow under the button) > Circle Invalid Data. Or list the bad rows with a formula, which also catches trailing spaces you can't see.

=FILTER(A2:B9,COUNTIF(E2:E7,B2:B9)=0)

Result: spills 2 rows × 2 columns

T-303In progress
T-305Done

T-303 with "In progress " (a trailing space) and T-305 with Done, which isn't in the list. T-307's lowercase "closed" passes, because COUNTIF ignores case.

5. A typed list splits in the wrong places

If you type the items into the Source box instead of using a range, separate them with your system's list separator. That's a comma in English-language settings and a semicolon in many European ones, so Open;In progress;Closed may be needed on a German or French PC. A typed list is also limited to 255 characters, and anyone editing it has to open the rule. A range on a hidden sheet is easier to maintain.

The source can be on another sheet. It can't reliably come from another workbook: the list only works while that file is open.

6. Data Validation is greyed out

The button is unavailable when the sheet is protected (Review > Unprotect Sheet), when several sheets are grouped ([Group] in the title bar; right-click a tab > Ungroup Sheets), when a cell is still being edited (press Enter or Esc), or in an old shared workbook (Review > Share Workbook (Legacy), then stop sharing).

7. Small annoyances

The drop-down shows eight items at a time and the font size can't be changed; zoom in if it's too small to read. In Excel for Microsoft 365, typing into the cell suggests matching items from the list. If the list is a dependent drop-down built with INDIRECT, a first-level item with a space (In progress) won't match a named range, because names can't contain spaces; see the dependent list guide for the SUBSTITUTE fix.

Common mistakes

Setting the source to a fixed range and adding items below it

Use a table column or a FILTER spill range (=$G$2#) so the list grows.

Leaving gaps in the source range

Remove the empty cells or build the list with FILTER(range,range<>"").

Pasting over drop-down cells

Use Paste Special > Values, then check with Circle Invalid Data.

Error Alert style set to Warning

Change it to Stop if invalid entries must be blocked.

FAQ

Why is my drop-down arrow not showing in Excel?

Select the cell first; the arrow only appears on the active cell. Then check that In-cell dropdown is ticked in Data Validation and that File > Options > Advanced > For objects, show is set to All.

Why doesn't my drop-down list update with new items?

The source is a fixed range that ends above the new items. Use a table column or a FILTER spill range as the source so it grows automatically.

How do I remove blanks from a drop-down list?

Delete the empty cells from the source, or create a clean list with =FILTER(E2:E7,E2:E7<>"") and use that spill range with # as the source.

Why can I type anything into a drop-down cell?

The Error Alert style is Warning or Information, or Show error alert is unticked. Set the style to Stop. Pasted values are never checked, so use Circle Invalid Data to find them.

Functions used

Related guides

Updated