Array

VSTACK Formula

Vertically stacks two or more arrays on top of each other, appending each array as additional rows below the previous one. VSTACK is perfect for combining data from multiple tables, sheets, or sources into a single continuous list without manual copy-paste.

Syntax

VSTACK(array1, [array2, ...])
ParameterDescription
array1 Parameter of the VSTACK function.
[array2 (Optional.) Parameter of the VSTACK function.
...] Parameter of the VSTACK function.
Try VSTACK in Viztab — free, no signup

Examples

Combine Q1 and Q2 sales

Formula
=VSTACK(A1:C10, A15:C25)
Stacks the Q1 data (10 rows) on top of Q2 data (11 rows) into a single 21-row table with 3 columns.

Stack three regions

Formula
=VSTACK(East!A2:D50, West!A2:D50, Central!A2:D50)
Combines data from three different sheets into one consolidated table of up to 147 rows.

Add a header row

Formula
=VSTACK({"Name","Sales","Region"}, A2:C100)
Prepends a header row to data that doesn't have one. The constant array creates one row of column labels.

Common Errors

#N/A

Arrays have different column counts. Narrower arrays are padded with #N/A to match the widest array.

#SPILL!

The destination range is blocked by non-empty cells.

Tips

Different column widths

If arrays have different column counts, VSTACK pads narrower arrays with #N/A on the right. Ensure all arrays have the same number of columns for clean results.

Dynamic consolidation

VSTACK updates automatically when source ranges change. Add a row to the source data and the stacked result grows too.

Combine with SORT and FILTER

Stack data first with VSTACK, then wrap in SORT or FILTER: =SORT(VSTACK(range1, range2), 2, -1) combines and sorts in one formula.

Try VSTACK in Viztab

Import your data and use VSTACK with 370+ other formulas. No signup required.

Open Viztab

Related Formulas