Google Sheets Pivot Tables: Combine Multiple Sheets

Charts & pivot tables · Updated November 3, 2026

Google Sheets Pivot Tables: Combine Multiple Sheets

Google Sheets pivot tables use one source range, so they cannot directly summarize separate tabs as independent sources. To report across multiple sheets, first combine their matching data into one table—using a formula such as =VSTACK(January!A1:D500,February!A2:D500,March!A2:D500)—then create a pivot table from that combined range.

How pivot tables handle multiple sheets

A pivot table groups and summarizes records from a single rectangular source range. In the pivot table editor, you add fields from that range to Rows, Columns, Values, and Filters. There is no control for choosing January, February, and March as three separate source tabs and merging them inside the pivot editor.

This limitation matters whether the tabs are in the same spreadsheet or in different Google Sheets files. A pivot table does not automatically append same-shaped tabs, and selecting several ranges with the mouse does not turn them into one reliable data source. The practical solution is to prepare a consolidated table first, then point the pivot at it.

For example, suppose each monthly tab has columns for Date, Product, Region, and Sales. If the columns mean the same thing and appear in the same order on every tab, place January’s header and records above February’s and March’s records in a helper tab. One pivot table can then summarize all three months by product, region, or date.

Prepare the source tabs before combining them

Consistent structure is more important than the tab names. Each source should have one header row, and the same type of information should occupy the same column in every sheet. A column called Sales should contain comparable numeric values throughout, not a mixture of numbers, notes, and formatted text. Dates should be real date values rather than text that merely looks like a date.

Before consolidating, check for these common differences:

  • Different header spelling, such as “Sales” on one tab and “Revenue” on another.
  • Columns arranged in a different order or missing entirely on one tab.
  • Extra title rows, subtotals, or blank rows above or inside the records.
  • Numbers or dates stored as text, which can prevent correct summing or grouping.
  • Repeated headers in the middle of a source range, which may appear as ordinary records.

Standardize the fields and remove embedded subtotals before making the combined table. Pivot tables calculate their own summaries; including pre-calculated subtotal rows can double-count values. If one tab lacks a field, add that column with the same header and leave its record cells blank where the information is unavailable.

Combine matching tabs with VSTACK

For tabs in the same spreadsheet, a helper tab is often the simplest setup. Create a new sheet, perhaps named Combined, and enter a stacking formula in cell A1. The formula below assumes that each source uses columns A through D, row 1 contains the headers, and the data on each tab fits within row 500:

With headers in row 1 and records in A2:D500 on each monthly tab, use this formula in Combined!A1: =VSTACK(January!A1:D500,February!A2:D500,March!A2:D500). The result places January’s header and rows first, then appends February’s and March’s records without repeating their header rows.

VSTACK returns the rows of its input ranges one after another. The first range includes row 1 so the combined output has one set of field names; later ranges start at row 2 to avoid treating their headers as sales records. If a tab name contains spaces, surround it with single quotes in the reference, for example 'January Sales'!A1:D500.

Choose row limits that cover the data you expect, and remember that fixed ranges do not include records entered below their last row. You can increase the bounds when needed, or use appropriately sized ranges based on the actual data. If the formula includes unused rows, blanks may appear between groups. Filter out blank records in the pivot table, or adjust the source ranges to reduce them. Avoid combining a very large number of unnecessary empty rows when a smaller range will do.

VSTACK is available in Google Sheets. It also exists in current Microsoft Excel versions, but the menus and pivot-table interface differ. In Sheets, use the formula in a normal cell; the formula output becomes the source table for the pivot.

Create a pivot table from the combined data

Once the helper sheet displays the combined records and a single header row, create the pivot table from that output. In Google Sheets in a browser:

  1. Select a cell in the combined table, or select the full range including its headers.
  2. Choose Insert > Pivot table.
  3. Confirm the data range in the dialog and choose whether to place the pivot table in a new sheet or an existing sheet.
  4. Click Create, then use the pivot table editor to add fields to Rows, Columns, Values, or Filters.

For the monthly sales example, add Product to Rows and Sales to Values. Check that the value summary is set to SUM rather than COUNT if you want total sales. Add Region to Columns to compare regions, or add Date to Rows and group dates by month if the dates are recognized as dates. A filter can restrict the summary to one region or product without changing the underlying records.

Excel uses a similar general workflow but different interface labels and menus. These instructions describe Google Sheets; they do not rely on Excel’s separate multi-consolidation options or other Excel-specific features.

Choose a consolidation method

A formula-driven helper sheet is useful when the tabs share a stable schema and you want the combined results to respond to source edits. It keeps the source tabs intact and makes the pivot’s input easy to inspect. It is also convenient when the monthly sheets are maintained by different people but use the same template.

Other approaches make sense in different circumstances:

  • Copy records into one table: A straightforward choice for a one-time report or a small dataset that rarely changes. Append records beneath the header and avoid pasting additional header rows into the data.
  • Use a single ongoing data-entry tab: Often the cleanest design for recurring reporting. Add a Month or Period column instead of creating a new tab for every reporting period, then pivot on that field.
  • Use Apps Script or a data connector: Consider automation when many tabs or files need repeated consolidation, especially if their layouts vary. The setup requires more maintenance and should be documented.
  • Use IMPORTRANGE for other spreadsheets: This function can bring a range from another Google Sheets file into a consolidation sheet. Each external source requires an appropriate spreadsheet URL or ID and range, and access must be granted when prompted. The imported data still needs to be assembled into one table before a pivot can summarize it.

For a recurring process, a single normalized table is usually easier to maintain than a growing collection of monthly tabs. Separate tabs can still be helpful for data entry or review, but the reporting layer benefits from one consistent list of records and a period field.

Refresh behavior and ongoing maintenance

When a pivot table is based on a formula output, edits to the input tabs can flow into the helper formula and then affect the pivot. However, the pivot’s source range must include the rows in question. If the pivot was created from Combined!A1:D500 and later records appear below row 500, those rows are outside its source range even if the helper formula now displays them.

Likewise, a VSTACK formula with a fixed range ending at row 500 cannot include data entered on a source tab in row 501. Keep both limits in mind: the formula’s input ranges and the pivot table’s source range. When you extend the data, update the relevant ranges and verify that the new records appear in the pivot. For an ongoing report, reserve sufficient space and periodically check the source boundaries.

Changing a header can also affect the pivot. The editor identifies fields by their header names, so renaming or removing a field may require adjustments to the pivot configuration. After changing the source structure, confirm that the expected fields remain in the editor and that totals still make sense.

Common problems and how to fix them

If the pivot shows a field name as a record, look for repeated header rows included from later tabs. Start each additional source range at row 2, not row 1. If totals are too high, check for subtotal rows or duplicate records before assuming the pivot calculation is wrong.

If a numeric field appears as a count instead of a sum, inspect the source values for text entries, blanks, or inconsistent data types, then check the value-summary setting in the pivot editor. A value such as “$25” typed as text may not behave like a numeric 25 formatted as currency. Correct the source data and verify the pivot’s aggregation.

If some records are missing, check that the VSTACK ranges cover all used rows and that the pivot source range includes the helper output. Also verify that a pivot filter is not excluding those records. If the combined table has blank rows, a blank category in the pivot may simply reflect those empty source cells; filter blanks or tighten the source ranges.

If VSTACK returns an error, confirm that the function name is spelled correctly and that each range has the same number of columns. In this example, every range must cover columns A through D. Check sheet names and quotation marks as well, especially when a tab name contains spaces or punctuation.

What multiple-sheet pivots can and cannot do

A consolidated source can include a column that identifies where each record came from. For example, add a Month field to every record, or create a Source field with values such as January, February, and March. This lets the pivot compare periods while retaining one source range. Without a period or source field, the pivot can total all records but cannot infer which month a record belongs to just from the tab it came from.

It is also important to distinguish multiple tabs from multiple files. Tabs inside one spreadsheet can be stacked with direct sheet references. Data in separate files must first be brought into a common spreadsheet or another reporting workflow. IMPORTRANGE can import a range, but it does not make a pivot table accept several independent files as sources.

Frequently Asked Questions

Can a Google Sheets pivot table use multiple tabs directly?
No. A pivot table uses one source range. Combine the records from the tabs into one table first, then create the pivot from that consolidated range.

Can I combine tabs automatically without copying and pasting?
Yes. For tabs with matching columns, use VSTACK in a helper sheet to append their ranges. Make sure the first range includes the header and later ranges begin below their headers.

Can I make a pivot table from multiple Google Sheets files?
Not as separate direct sources. Import or consolidate the required data into one spreadsheet first. IMPORTRANGE can bring in external ranges, subject to access permissions, and the resulting combined table can feed a pivot.

Will new rows appear automatically in my pivot table?
Only if the new rows are included in both the helper formula’s source ranges and the pivot table’s source range. Fixed row limits need to be extended when data grows beyond them.

Should I use separate monthly tabs or one master sheet?
For ongoing analysis, one master table with a Month or Period column is generally simpler. Separate tabs can work when needed for entry or organization, provided their columns stay consistent and they are consolidated before pivoting.

Related

Try it: the Percentage Formula Generator: percent of, percent change, increase and decrease, with the formula.

More in Charts & pivot tables

Sources: Function behaviour and menu paths: Microsoft Support documentation for Excel. Method & sources

Spotted an error in this guide? Let us know.