Function Problems

How to Create a Dynamic Data Validation List from Multiple Excel Tables

Ayan MasoodAyan Masood Nov 10, 2026 869 views

Question details

The user needs to combine values from multiple dynamically growing table columns into a single data validation list that updates automatically.

How to Create a Dynamic Data Validation List from Multiple Excel Tables
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.
Before you start

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.

Solution 1Recommended

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.

1
Create the dynamic array formula

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.

2
Define a Named Range

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.

3
Apply Data Validation

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.

Use VSTACK and UNIQUE to Build a Dynamic List
Version Compatibility: If your spreadsheet software does not support dynamic arrays, this formula will return a #NAME? error. In older versions, you may need to rely on Power Query or complex INDEX/MATCH formulas to achieve a similar result.
Free Spreadsheet Software

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. 1. Open your document: Launch WPS Spreadsheet and open your workbook containing the source tables.
  2. 2. Enter the dynamic formula: Use the =UNIQUE(VSTACK(...)) logic in a helper column to consolidate your table data.
  3. 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.
Supports modern dynamic array functions like UNIQUE and VSTACK.Fully compatible with Microsoft Excel (.xlsx) file formats.Intuitive Data Validation tools to create drop-down menus quickly.Free, lightweight, and fast performance for large datasets.
microsoft office alternative - wps office

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.