Search Contextures Sites @import url(//www.google.com/cse/api/branding.css); Custom Search

Contextures
Excel news
by email

# Hide Used Items in Drop Down List

Limit the choices in a drop down list, by hiding items that have been previously selected.

Thanks to Excel MVP, Peo Sjoblom, who contributed the original formula for this technique, and to Daniel.M, who suggested the enhanced formulas.

## Introduction

You can limit the choices in a drop down list, hiding items that have been previously selected. For example, if you are assigning employees to a shift, you don't want to assign the same employee twice.

In the drop down list shown below, Fred and Joe have been assigned, so their names aren't in the list now. The instructions for this workbook are shown below.

For another example, download the Assign Baseball Players per Inning file, from the Excel Sample Files page.

## Set up the Main Table

To set up the Employee Shift workbook, start by setting up the table in which you want to use the Excel Data Validation. In this example, the worksheet is named 'Schedule' and the range A1:C7 is being used.

Column B will have Data Validation applied.

## Create the List of Items

Create a list which contains the items you want to see in the Excel data validation dropdown list. Here, the employee names have been entered in cells A1:A6, on a sheet named 'Employees'

## Calculate if a name has been used

1. On the Employees sheet, in cell B1, enter the following formula:

=IF(COUNTIF(Schedule!\$B\$2:\$B\$7,A1)>=1,"",ROW())

2. Copy the formula down to cell B6.

This formula counts the occurrences of "Bert" in cells B2:B7 on the Schedule worksheet. If the count is greater than or equal to 1, the cell will appear blank. Otherwise, the row number will be displayed.

## Create the list of unused names

The next step is to create a formula which will move any blank cells to the end of the list. For long lists, you can use the multi-cell array formula, and for smaller ranges (fewer than 200 cells), use the single-cell formula, which is easier to edit.

### Option 1: Multi-Cell Formula

1. Select cells C1:C6
2. Enter the following array formula (the formula is long, and should be all on one line)

=IF(ROW(A1:A6)-ROW(A1)+1>COUNT(B1:B6),"",
INDEX(A:A,SMALL(B1:B6,ROW(INDIRECT("1:"&ROWS(A1:A6))))))

3. Press Ctrl+Shift+Enter to enter the array formula in cells C1:C6

### Option 2: Single-Cell Formula

If you'd prefer a single-cell formula (easier to edit), you could use this formula, also by Daniel.M. He recommends it for small ranges (<=200 cells):

1. Select cell C1
2. Enter the following formula (the formula is long, and should be all on one line)

=IF(ROW(A1)-ROW(A\$1)+1>COUNT(B\$1:B\$6),"",
INDEX(A:A,SMALL(B\$1:B\$6,1+ROW(A1)-ROW(A\$1))))

3. Press Enter
4. Copy the formula down to row 6

## Name the Dynamic List of Unused Names

1. Choose Insert>Name>Define
2. In the Names in workbook box, type a one-word name for the range, e.g. NameCheck.
3. In the Refers to box, type the following formula (all on one line):

=OFFSET(Employees!\$C\$1,0,0,COUNTA(Employees!\$C\$1:\$C\$6)-COUNTBLANK(Employees!\$C\$1:\$C\$6),1)

4. Click OK

## Apply the Data Validation

1. Select the cells in which you want to create a drop down list of names
2. From the Data menu, choose Validation.
3. From the Allow dropdown list, choose List
4. In the Source box, type an equal sign and the list name, for example: =NameCheck
5. Click OK.

## Test the Drop Down List

Select an employee name in cell B2, and another name in cell B3.

When you open the list in cell B4, the list shows only the names that have NOT been used. Other names have been removed from the list.

2. Download the Assign Baseball Players per Inning file, from the Excel Sample Files page.

#### 3. Hidden Items With Dependent Data Validation

This hidden items technique can be modified, and used with Dependent Data Validation, as in the zipped sample workbook found here: Hide Previously Used - Dependent

#### 4. Multiple Column Data Validation

This technique for hiding used items can be modified, and used across multiple columns. In the screen shot below, Cam's name is removed from the lists for Jan 3rd, after being assigned a task for that day.

To download this example, go to the Excel Sample Spreadsheets page, and in the Data Validation section, look for DV0016 - Assign Employees to Single Task Per Day

## Search

Search Contextures Sites