logo
search
Formula Errors

How to Combine Data from Multiple Sheets Using Excel Formulas

Maira MehtabMaira Mehtab Sep 22, 2026 868 views

Question details

The user wants to extract matching data from multiple worksheets and aggregate it into a single summary page based on specific criteria.

Product
Excel
Device & OS
not provided
Scenario
Setting up a summary page in a workbook that consolidates specific matching data sets scattered across various consecutive worksheets.
Observed behavior
The current standard IF formula successfully retrieves data from the first sheet (Sheet 1) but fails to incorporate data from the additional worksheets.
Before you start

Ensure your spreadsheet software is updated to a version that supports dynamic array functions like VSTACK and FILTER, and verify that all source worksheets are grouped consecutively at the bottom of your screen.

Solution 1Recommended

Use VSTACK and FILTER with 3-D References

This method utilizes modern dynamic array functions to stack data from consecutive sheets and filter it in one seamless formula.

A 3-D reference (like 'Sheet 1:Sheet 4') allows you to reference the same cell or range across multiple consecutive worksheets. When combined with VSTACK, it seamlessly stacks all the data into a single array.

By wrapping the VSTACK function inside a FILTER or LET function, you can dynamically extract only the rows that meet your specific criteria.

1
Arrange your sheets

Look at the sheet tabs at the bottom of your workbook. Click and drag them so that the sheets you want to combine are arranged consecutively (e.g., Sheet 1, Sheet 2, Sheet 3, Sheet 4).

2
Select the destination cell

Navigate to your summary page and click the top-left cell where you want the combined data to begin displaying.

3
Input the dynamic formula

Type the formula: =LET(allShts,VSTACK('Sheet 1:Sheet 4'!A2:F999),FILTER(DROP(allShts,,1),TAKE(allShts,,1)="m","")) and press Enter.

4
Customize the parameters

Adjust 'Sheet 1:Sheet 4'!A2:F999 to match your actual first and last sheet names and the data range. Change the "m" criteria to the specific text or value you want to filter by.

Understanding the functions used: In this formula, LET defines a variable (allShts) to prevent recalculating the same array twice. VSTACK merges the multi-sheet data. TAKE targets the column to test against your criteria, and DROP removes the criteria column from the final result if you don't want it displayed.
Efficient Data Management

Combine Data from Multiple Sheets Effortlessly with WPS Spreadsheet

WPS Spreadsheet provides full support for advanced dynamic array functions like VSTACK, FILTER, and LET, making it incredibly easy to merge, filter, and summarize data from multiple worksheets without using complicated macros.

  1. 1. Prepare your workbook: Open your multi-sheet file in WPS Spreadsheet and ensure the sheets you wish to combine are placed next to each other.
  2. 2. Enter the formula: Click the target cell on your summary sheet, type =VSTACK('Sheet1:Sheet3'!A1:D100) (adjusting the range as needed), and press Enter.
  3. 3. Add criteria: To extract specific data, wrap your VSTACK inside a FILTER function just as you would in Excel to instantly get your refined summary.
Native support for cutting-edge dynamic array formulas (VSTACK, FILTER, LET).Perfect compatibility with Microsoft Excel (.xlsx) file formats and formulas.Smooth handling of heavy data processing and large multi-sheet workbooks.Lightweight architecture ensures fast load times and rapid formula calculations.
microsoft office alternative - wps office

Frequently Asked Questions

Why am I getting a #NAME? error when using VSTACK?

The #NAME? error typically occurs if your current version of the spreadsheet software does not support dynamic array functions. You need to update to the latest version of Microsoft 365 or WPS Office to use VSTACK and FILTER.

Can I combine sheets that are not placed consecutively?

A 3-D reference (like 'Sheet 1:Sheet 4'!) strictly requires sheets to be consecutive. If they are not, you must manually list each sheet's range inside the VSTACK function, separated by commas, such as =VSTACK(Sheet1!A1:D10, Sheet5!A1:D10).

How do I filter out blank rows when stacking multiple sheets?

You can nest your VSTACK function inside a FILTER function and specify a condition to exclude blanks. For instance: =FILTER(VSTACK('Sheet1:Sheet3'!A2:D100), VSTACK('Sheet1:Sheet3'!A2:A100)<>"").

Does the summary page update automatically if I change data on a source sheet?

Yes. Because functions like VSTACK and FILTER create dynamic arrays, any modifications made to the data in the source sheets will instantly and automatically recalculate and reflect on the summary page.