What is VSTACK in Google Sheets?
VSTACK stacks arrays on top of each other into one taller table. Combine regional exports, monthly snapshots, or FILTER results with the same columns without manual paste below last row.
When to use it
Use VSTACK to append similar-schema tables: East plus West sales, or January plus February logs with identical headers.
When to skip it
Skip VSTACK when schemas differ in column count or meaning. Align columns first or use QUERY UNION patterns.
How it works
-
1
Confirm each block has the same number of columns.
-
2
Write VSTACK(range1, range2) with tables in top-to-bottom order.
-
3
Include headers once at top or in only the first block.
-
4
Leave rows below open for the combined spill height.
-
5
SORT or UNIQUE the VSTACK result if you need ordered or deduped output.
-
6
Validate row counts on a sample before replacing manual consolidation.
Examples in Google Sheets
Regional rollup
=VSTACK(East!A2:D, West!A2:D) builds one combined sales table.
Monthly append
=VSTACK(Jan!A:C, Feb!A:C, Mar!A:C) stacks three month tabs for year-to-date charts.
After FILTER
=VSTACK(FILTER(A:C, B="A"), FILTER(A:C, B="B")) merges two status slices vertically.
Better Sheets resources
Common mistakes
-
Different column counts between stacks breaking VSTACK.
-
Duplicate headers in every block creating repeated header rows in data.
-
VSTACK when HSTACK was needed for side-by-side layout.
-
Stacking tables with different column orders without renaming.
-
No room below for spill overwriting totals row.
Frequently asked questions
- VSTACK vs manual paste?
- VSTACK stays live when source tabs change row counts.
- VSTACK with headers?
- Put headers only in the first array or add a single header row above VSTACK.
- Column mismatch fix?
- Pad with blank columns or SELECT matching columns in QUERY first.
- VSTACK then SORT?
- Yes. SORT(VSTACK(...), col, TRUE) orders the combined set.
- VSTACK and IMPORTRANGE?
- Stack imported blocks when schemas match.
- Why #VALUE!?
- Unequal column widths between input arrays.
- VSTACK vs QUERY union?
- QUERY can UNION with SQL strings. VSTACK is simpler for direct range stacks.
Related terms
HSTACK
HSTACK appends arrays horizontally so columns sit side by side in one spilled table. It replaces fragile copy-paste when combining QUERY outputs, IMPORTRANGE blocks, or calculated columns with matching row heights.
Read guide →TOCOL
TOCOL converts a range into a single column. You can choose whether it reads down each column first or across rows first. It replaces manual paste-special transpose chains when reshaping blocks for UNIQUE or FILTER.
Read guide →TOROW
TOROW flattens a range into a single row spill. Like TOCOL but horizontal, it helps build header arrays, SPARKLINE source rows, and inputs for functions that expect one horizontal vector.
Read guide →FLATTEN
FLATTEN converts a two-dimensional range into a single column, reading across rows then down. It is useful after SPLIT or when you need every value from a block in one list for UNIQUE, COUNTIF, or mail merge prep.
Read guide →Done reading about VSTACK?
Membership unlocks 600+ tutorials, unlimited generators, and every template. Practical lessons. Zero fluff.
Need this once
Jump to a free tool or a single tutorial for this topic.
Learning Sheets for real
Unlock the full library, generators, and templates with membership.