Limit the choices in an Excel drop down list, by hiding items that have been previously selected. Several examples of how to use this technique, and workbooks to download.
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.
NOTE: If your version of Excel has Dynamic Arrays, use the much simpler instructions shown below. Dynamic arrays are available in Microsoft 365 plans.
Thanks to Peo Sjoblom, who contributed the original formula for this technique, and to Daniel.M, who suggested the enhanced formulas.
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 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'
Next, you'll add a formula beside each name, to check if that name has been used in the schedule.
1. On the Employees sheet, in cell B1, enter the following formula:
2. Copy the formula down to the last name, in 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.
The next step is to create a formula that will move any blank cells to the end of the list. There are two options:
1. For long lists, you can use the multi-cell array formula
2. For smaller ranges (fewer than 200 cells), use the single-cell formula, which is easier to edit.
3. Press Ctrl+Shift+Enter to enter the array formula in cells C1:C6
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):
Next, you'll create a named range, using the OFFSET function. Only the cells with names will be included, not the blank cells at the end of the list.
The OFFSET formula creates a range that starts in cell C1. The number of rows in the range is based on the count of numbers in cells B1:B6.
Next, you'll use Excel's Data Validation feature, to create drop down lists on the Schedule sheet
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.
If your version of Excel has Dynamic Arrays, use these instructions -- the setup is much simpler.
This video shows the steps for setting up the drop down list that hides the used items. The written instructions are below the video.
On the Schedule sheet, there is a named table - tblSched. The table has 2 columns:
After an employee has been assigned, that name is removed from the drop down list.
In the screen shot below, Bert, Mike and Anne are no longer in the list.
On the Lists sheet, there is a named table - tblEmp. The table has 1 column - EmpList.
Employee names are typed in that column. The list is sorted alphabetically, but does not need to be sorted.
Also on the Lists sheet, there is a dynamic array, starting in cell D2. The formula uses the new Excel functions, SORT and FILTER, combined with COUNTIF, to create a list of employees who have not been assigned on the Schedule sheet.
Here is the formula in cell D2:
The FILTER function returns:
Then, the SORT function sorts the names alphabetically, for convenience when using the drop down list.
On the Schedule sheet, data validation was used to create drop down lists in the Employee column. Those drop down lists are based on the dynamic array of available employee names.
In the data validation settings:
There are other examples of this Hide Used Items technique. You can download these sample files in the Download section.
Select a player for each position, for each of the nine innings of a baseball game. After you choose a name in an inning, it disappears from that inning's drop down list. The lists for the other innings are not affected.
In the screen shot below, Mike was selected as the pitcher, so his name is not in the drop down list. Players who have been picked for the second inning still show up in the list for the first inning.
The "Hide Used Items" technique can also be adapted to work with dependent drop down lists.
In the screen shot below, a Type can be selected multiple times in column A. However, in column B, each dependent item can onlybe selected once.
For example, in cell B4, the SI-02 item is not in the SI list, because it was selected in cell B2.
In this example, the layout is different -- selections are made across a row, instead of down a column.
In the screen shot below, Cam's name is removed from the lists in Row 2, because he has already been assigned a task for that day.
There are two versions of this sample file in the download section below:
In this example, people select their primary printer from a drop down list.
After that, they can select one or two backup printers, from the backup drop down lists. The primary printer does not appear in the backup lists.
On the Lists sheet, there is a named range -- PrimaryList (green cells). There is a formula in the NotUsed column, to number all the printers, except the one selected as the Primary printer.
In column F, formulas create a list of Backup Printer, and the Primary printer isn't numbered in the NotUsed column, so it isn't included in the Backup List..
Don't miss my latest Excel tips and videos! Click OK, to get my weekly newsletter with Excel tips, and links to other Excel news and resources.
Last updated: August 23, 2021 7:33 PM