Excel Function

Excel VSTACK function

Stack multiple ranges on top of each other into one combined list — with a single formula.

VSTACK combines two or more ranges by stacking them vertically, one on top of the next. The result spills automatically. No copy-paste, no manual combining, and the output updates when the source ranges change.

Syntax

VSTACK(array1, [array2], ...)
ArgumentWhat it means
array1 requiredThe first range or array.
array2, ... optionalAdditional ranges to stack below array1. Up to 254 arrays.

Examples

Combine two lists into one

=VSTACK(A2:A10, C2:C15)

Returns all 9 values from A2:A10 followed by all 14 values from C2:C15 — a single 23-row list.

Combine data from multiple sheets

=VSTACK(Sheet1!A2:C50, Sheet2!A2:C30, Sheet3!A2:C20)

Consolidates data from three sheets into one range — the same thing that used to require Power Query or manual copy-pasting.

Add a header row then the data

=VSTACK({{"Name","Sales","Region"}}, A2:C100)

Pass a literal array (using double curly braces) as the first argument to prepend a custom header row to any dataset.

💡 VSTACK vs HSTACK

VSTACK stacks arrays top to bottom (adds more rows). HSTACK stacks arrays left to right (adds more columns). Use VSTACK to combine rows of data; use HSTACK to add columns side by side.

What happens if the arrays have different numbers of columns?
VSTACK fills the missing cells with #N/A errors. Use IFERROR to replace them: =IFERROR(VSTACK(A2:B10, D2:F15), "")
What version of Excel supports VSTACK?
Excel 365 and Excel for the web. Not available in Excel 2021 or earlier.

Now practise it for real

Practice these formulas in the Data Analyst track — 100 exercises covering dynamic arrays, data cleaning, and analysis. Free to start.

Start the Data Analyst track free →