How to Combine Multiple Dynamic Arrays into a Single Column in Excel

📅 Mar 16, 2026 📝 Sarah Miller

Consolidating fragmented data from multiple dynamic arrays into a single, cohesive column in Excel is a notoriously tedious task. Traditionally, analysts track these streams separately, much like managing disjointed capital allocations from standard funding sources. Fortunately, modern Excel formulas grant users the power to instantly unify disparate datasets without manual intervention.

Stipulation: To ensure formula accuracy, all targeted source arrays must maintain compatible data structures to prevent spill errors. For example, utilizing the VSTACK function to merge quarterly sales inputs serves as a reliable method to unify your reporting.

Next, we will examine the precise formula syntax and step-by-step configuration required to implement this solution.

How to Combine Multiple Dynamic Arrays into a Single Column in Excel

With the introduction of Excel's dynamic array engine, data manipulation has undergone a massive paradigm shift. Gone are the days of dragging down complex, resource-heavy formulas or relying solely on VBA macros to consolidate data. Today, if you have lists or tables that automatically expand and contract, you can merge them into a single, unified column using native, elegant formulas.

Whether you are merging departmental lists, combining sales forecasts from multiple regions, or consolidating daily logs, Excel offers powerful functions like VSTACK, TOCOL, and LET to get the job done. In this guide, we will explore the best methods to combine dynamic arrays into a single column, how to handle clean-up (like removing blanks and duplicates), and how to make your solutions highly adaptable.

Understanding Dynamic Arrays and the Spill Operator (#)

Before diving into the formulas, it is crucial to understand how Excel handles dynamic arrays. When a formula returns multiple values, it "spills" those values into neighboring cells. This range of spilled cells is called a spill range.

To reference a dynamic array in Excel, you use the spill operator (#). For example, if you have a dynamic array formula in cell A2 that spills down to A10, you do not reference it as A2:A10. Instead, you reference it as A2#. If the array expands to A15 tomorrow, A2# will automatically adjust to include the new rows. This behavior is key to dynamically combining arrays.

Method 1: The Modern Standard – Using the VSTACK Function

If you are using Microsoft 365 or Excel for the Web, the absolute easiest and most efficient way to combine multiple arrays vertically is by using the VSTACK (Vertical Stack) function.

The Syntax of VSTACK

=VSTACK(array1, [array2], ...)

The function takes one or more arrays and stacks them on top of one another to return a single, combined array.

Step-by-Step Example

Imagine you have two dynamic arrays generated by other formulas:

  • Array 1 is located in column A, starting at A2# (e.g., a filtered list of North Region products).
  • Array 2 is located in column C, starting at C2# (e.g., a filtered list of South Region products).

To combine these two dynamic arrays into a single column, enter the following formula in your target cell:

=VSTACK(A2#, C2#)

As the source arrays in A2 and C2 grow or shrink, the VSTACK formula will dynamically update its height to reflect the consolidated list.

Method 2: Flattening 2D Arrays into One Column with TOCOL

Sometimes, your dynamic arrays are not just simple vertical lists. You might have a two-dimensional grid of data (multiple columns and rows) that you want to collapse into a single column. For this, Excel provides the TOCOL (To Column) function.

The Syntax of TOCOL

=TOCOL(array, [ignore], [scan_by_column])
  • array: The range or array you want to convert into a single column.
  • ignore: (Optional) Allows you to skip certain types of values.
    • 0: Keep all values (default)
    • 1: Ignore blanks
    • 2: Ignore errors
    • 3: Ignore both blanks and errors
  • scan_by_column: (Optional) A logical value. If FALSE or omitted, it scans row-by-row. If TRUE, it scans column-by-column.

Example: Combining a Multi-Column Array

If you have a dynamic grid of values starting in E2# that spans three columns wide, and you want to convert it into a single clean column while ignoring empty cells, use:

=TOCOL(E2#, 1)

Combining VSTACK and TOCOL for Ultimate Flexibility

You can nest these two functions to solve complex scenarios. For example, if you have multiple 2D dynamic arrays spread across different parts of your workbook, you can first stack them vertically, and then flatten them into a single column, all while ignoring blanks.

=TOCOL(VSTACK(A2#, D2#, G2#), 3)

In this formula, VSTACK gathers all the arrays into one large virtual array, and TOCOL(..., 3) flattens them into a single, continuous column while discarding empty cells (blanks) and any formula errors.

Sorting and Deduplicating Your Combined Column

Consolidating data often results in duplicate entries or unsorted lists. Because Excel's dynamic array functions are designed to work together, you can wrap your combined list in UNIQUE and SORT functions to generate a clean, alphabetical master directory.

Creating a Clean Master List

To combine A2# and C2#, remove any duplicate values, and sort the final list alphabetically, write:

=SORT(UNIQUE(VSTACK(A2#, C2#)))

This nested approach is incredibly performant and completely hands-free once configured. Any changes in the source tables will instantly recalculate a sorted, distinct master list.

Handling Complex Scenarios with the LET Function

As your formulas grow, nesting multiple functions can make them hard to read and troubleshoot. The LET function allows you to assign names to calculation steps, making your formulas run faster and look much cleaner.

Using LET to Organize Arrays

Suppose you want to combine two dynamic arrays, remove blanks, eliminate duplicates, and sort them. Here is how you can write it clearly using LET:

=LET(
    ArrayNorth, A2#,
    ArraySouth, C2#,
    StackedList, VSTACK(ArrayNorth, ArraySouth),
    CleanList, TOCOL(StackedList, 3),
    SORT(UNIQUE(CleanList))
)

By breaking down the formula into named variables (ArrayNorth, ArraySouth, etc.), anyone auditing your spreadsheet can easily understand the logic flow.

Summary of Core Functions

The table below summarizes the key tools used to merge dynamic arrays:

Function Primary Purpose Common Best Use Case
VSTACK Stacks arrays vertically. Combining multiple distinct columns/ranges into one long list.
TOCOL Flattens an array or grid into a single column. Converting 2D matrices or horizontal arrays into a vertical list.
UNIQUE Removes duplicate values. Ensuring the consolidated list contains only distinct entries.
SORT Sorts the contents of an array. Arranging the final merged list alphabetically or numerically.
LET Assigns names to formula results. Streamlining complex formulas to improve performance and readability.

What If You Do Not Have Microsoft 365? (Legacy Excel Alternatives)

If you are working on older versions of Excel (like Excel 2019 or 2016) that do not support VSTACK, TOCOL, or dynamic spill ranges, you have a few options:

  1. Power Query: This is the recommended alternative for older versions. You can import your tables into Power Query, use the "Append" feature to stack them, and load the results back to your worksheet as a table. While not instant like formulas, you can refresh it with a single click.
  2. Legacy Index Formulas: You can use complex configurations involving INDEX, ROW, MIN, and COUNTIF entered as Ctrl+Shift+Enter array formulas. However, these are highly complex, difficult to maintain, and will slow down large workbooks. Upgrading to Microsoft 365 is strongly advised if you perform these operations frequently.

Conclusion

Combining dynamic arrays in Excel is no longer a chore that requires dozens of lines of VBA or archaic, resource-heavy array formulas. With VSTACK and TOCOL, you can cleanly align, flatten, and filter dynamic datasets with just a single line of formula. By adding UNIQUE, SORT, and LET to your toolkit, you can build self-maintaining, robust models that adapt seamlessly to changing data inputs.

Disclaimer:
The documents and templates provided on this page are for informational and illustrative purposes only. They do not constitute professional, legal, or financial advice, and should not be relied upon as such. Because individual circumstances and regulatory requirements vary, these materials may not be suitable for your specific needs. We recommend consulting with a qualified professional before adapting or using any of these examples for official or commercial purposes.