How to Create a Dynamic Data Validation List from Multiple Excel Tables
Question details
The user needs to combine values from multiple dynamically growing table columns into a single data validation list that updates automatically.

- Product
- Excel
- Device & OS
- not provided
- Scenario
- Building a drop-down list using Data Validation that sources its options from multiple separate tables without requiring manual formula updates when new data is added.
- Observed behavior
- The goal is to dynamically stack columns from different tables and filter out duplicate entries to form a single, clean drop-down menu reference.
Ensure you are using a modern spreadsheet version (such as Microsoft 365 or the latest WPS Office) that supports dynamic array functions like VSTACK and UNIQUE. Format your source data as official Tables to allow dynamic expansion.
Use VSTACK and UNIQUE to Build a Dynamic List
Combine columns from multiple tables into a single dynamic array and reference it in your Data Validation settings using a spill range operator.
The VSTACK function stacks arrays vertically, while UNIQUE removes duplicate entries. By combining them, you generate a clean, consolidated list that updates automatically as your source tables grow.
In a blank helper cell (e.g., D1), enter the formula =UNIQUE(VSTACK(Table1[Name], Table2[Name])). This generates a combined list of unique values that spills down the column.
Go to Formulas > Name Manager > New. Create a name (e.g., 'CombinedList') and set the 'Refers to' box to the cell containing your formula, adding a '#' at the end (e.g., =$D$1#) to reference the entire dynamic spill array.
Select the cell where you want the drop-down list to appear. Navigate to Data > Data Validation. Under the Settings tab, choose 'List' from the Allow drop-down, and type =CombinedList in the Source box. Click OK.

Easily Manage Dynamic Data with WPS Spreadsheet
WPS Spreadsheet offers powerful data management tools, including advanced dynamic functions and data validation, allowing you to seamlessly handle dynamic lists and large datasets for free.
- 1. Open your document: Launch WPS Spreadsheet and open your workbook containing the source tables.
- 2. Enter the dynamic formula: Use the =UNIQUE(VSTACK(...)) logic in a helper column to consolidate your table data.
- 3. Set up Data Validation: Navigate to the Data tab, click Data Validation, choose 'List', and reference your dynamic array using the '#' operator to finalize your drop-down menu.

Frequently Asked Questions
Why is my Data Validation list not updating when I add new rows?
If you didn't format your source data as official Excel Tables (Insert > Table), the ranges in your formula won't expand dynamically. Ensure your VSTACK formula references table columns directly, such as Table1[ColumnName].
What does the hashtag (#) do in the Named Range reference?
The hashtag (#) is a spill range operator. It tells the software to include all cells that the dynamic array formula spills into, ensuring the data validation list automatically resizes when new items are added to the source tables.
Can I sort the combined list alphabetically in my drop-down menu?
Yes. You can wrap your dynamic formula in the SORT function like this: =SORT(UNIQUE(VSTACK(Table1[Name], Table2[Name]))). This will organize your combined drop-down list in ascending alphabetical order.
What if I get a #NAME? error when using VSTACK?
The #NAME? error typically means your spreadsheet software version is outdated and does not support the VSTACK function. You will need to update to a newer version, such as Microsoft 365 or the latest WPS Office release, to use dynamic array features.




