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.

Practice VSTACK for real

Type it in a live spreadsheet, get instant feedback. No videos, no downloads.

Start practising free →