Analistable

How to combine Excel sheets into one

By the Analistable team · Updated · 3 min read

To combine several sheets into one in Excel 365, use =VSTACK(Sheet1:Sheet3!A2:D100) for a live stacked table. For a refreshable table in Excel 2016 or later, load each sheet with Data → From Table/Range and stack them with Power Query's Append Queries. In any version you can copy each sheet's rows under the first. To summarise rather than stack, use Data → Consolidate or a pivot table.

Stack, summarise or match?

Before choosing a method, look at what the sheets contain:

  • Same columns, different rows (one tab per month or region) → stack them into one long table.
  • Same layout, numbers to add up (one budget per department) → consolidate into one summary.
  • Different columns about the same records (customers on one tab, orders on another) → match them by a key column. See joining spreadsheets.

Methods compared

Ways to combine sheets in Excel
MethodResultUpdates automaticallyExcel versions
VSTACKOne stacked table (formula)YesMicrosoft 365, Excel 2024, web
Power Query AppendOne stacked table (query)On Refresh2016+, Microsoft 365 (Mac too)
ConsolidateSummary (sum, count, average…)Optional linksAll
Pivot table (multiple ranges)Summary you can pivotOn RefreshWindows
Copy and pasteOne stacked table (static)NoAll

Option 1: VSTACK for a live combined sheet

Create a new sheet and type the header row once. In the cell below the first header, enter:

=VSTACK(Jan:Mar!A2:D500)

Jan:Mar is a 3D reference: every sheet from Jan to Mar in tab order. Blank rows at the bottom of each range will appear too, so wrap it in FILTER to drop them: =LET(d, VSTACK(Jan:Mar!A2:D500), FILTER(d, CHOOSECOLS(d,1)<>"")). Our dynamic arrays guide covers adding a sheet-name column with HSTACK.

Option 2: Power Query Append for a refreshable table

  1. Turn each sheet's data into a table (Ctrl+T) and give each a clear name.
  2. On each table, choose Data → From Table/Range, then Close & Load To… → Only Create Connection.
  3. Choose Data → Get Data → Combine Queries → Append, pick Three or more tables, and add them all.
  4. Click Close & Load. Power Query creates one table on a new sheet.

When the source tabs change, click Refresh All. Columns are matched by header name, so a column that exists on only one tab still comes through. Step-by-step screens are in Power Query Append Queries.

Option 3: Consolidate when you need totals

Data → Consolidate adds up the same cells or labels across sheets. Choose a function (Sum, Count, Average…), add each sheet's range, and tick Top row and Left column so Excel matches by labels rather than position. The result is a summary, not a list of rows. See the Consolidate function guide.

Worked example

Three monthly tabs with the same columns, stacked with a source column:

Result of stacking Jan, Feb and Mar
MonthRegionProductUnits
JanNorthDesk12
JanSouthChair30
FebNorthDesk9
FebNorthLamp14
MarSouthDesk11

With every row in one table, one pivot table answers questions such as units by product per month — which was impossible while the data sat on three tabs.

No formulas: combine sheets in your browser

If you only need the combined table, drop the workbook into our free sheet consolidator. It reads every tab, stacks the rows, adds a source column and shows a row count per sheet. Nothing is uploaded: the file is processed on your computer.

Every guide in this topic

Frequently asked questions

How do I combine all sheets into one in Excel?
In Microsoft 365, use =VSTACK(FirstSheet:LastSheet!A2:D500) on a new sheet. In Excel 2016 or later, use Power Query's Append Queries. In any version you can copy and paste each sheet's rows under the first.
Can I combine sheets that have different columns?
Yes, with Power Query Append, which matches columns by name and leaves blanks where a column is missing. VSTACK matches by position, so the columns must be in the same order.
How do I combine sheets and keep the sheet name?
In Power Query, add a custom column with the table name before appending. With VSTACK, stack a column that repeats each sheet's name, or use a browser tool that adds a source column automatically.
How do I combine sheets without duplicates?
Stack them first, then use Data → Remove Duplicates, or wrap the stacked range in UNIQUE: =UNIQUE(VSTACK(...)).