Most advice assumes every file has the same columns in the same order. Files that come from different people rarely do. Different tools are best for different consolidation problems, and this guide helps you pick the right one for yours.
Three monthly files that don’t quite agree
jan.xlsx
| Order ID | Customer | Amount | |
|---|---|---|---|
| 2 | 1001 | Acme Ltd | 120.00 |
feb.xlsx
| amount | order_id | Region | |
|---|---|---|---|
| 2 | 85.50 | 1002 | North |
mar.xlsx
| ORDER-ID | Client Name | Amount | |
|---|---|---|---|
| 2 | 1003 | Beta & Co | 240.00 |
Lined up by heading, not by position
| Order ID | Customer | Amount | Region | Client Name | Source File | |
|---|---|---|---|---|---|---|
| 2 | 1001 | Acme Ltd | 120.00 | jan.xlsx | ||
| 3 | 1002 | 85.50 | North | feb.xlsx | ||
| 4 | 1003 | 240.00 | Beta & Co | mar.xlsx |
- Order ID, order_id and ORDER-ID became one column, because only capitals, underscores and hyphens differed.
- Amount sits first in feb.xlsx and still lands in the right column.
- Region only exists in feb.xlsx. It is kept, and left blank for the other files instead of shifting their values sideways.
- Customer and Client Name stay separate. They probably mean the same thing, but that is your decision, not a guess. Rename one heading before combining if you want them in a single column.
What “consolidate Excel files” usually means
People use consolidate, merge and combine for three different jobs:
- Stacking rows. Every row from every file ends up in one long table, such as twelve monthly order exports becoming one year of orders. This guide is about this job.
- Summarising. You want totals or averages across files, not the individual rows. Excel’s built-in Consolidate command is designed for this.
- Joining. Two different tables share a key, such as orders and a customer list, and you want to look values up from one into the other. That is a lookup or merge-query job.
If you are not sure which one you need, What is spreadsheet consolidation? explains the difference with examples.
Which method fits your files?
Start from the files you actually receive, not from the tool you already know.
| Situation | Usually the best approach | Why |
|---|---|---|
| A few identical files, one-off | Copy and paste, or a basic online merger | Nothing needs matching, so anything that stacks rows is enough. |
| The same structured export every month | Power Query | Build the query once, refresh it each month. Hard to beat when the structure is stable. |
| Part of a programmatic or data-engineering workflow | Python (pandas) | Scriptable, testable and free, if someone can write and maintain the code. |
| Files from different people or systems that don’t quite match | ConsoliSheet | Built to line up columns that differ in order, formatting or presence, and to show what needs a decision. |
| A scheduled pipeline across several systems | A workflow or ETL tool | Scheduling, connectors and monitoring matter more than spreadsheet handling. |
| You want totals across files, not rows | Excel’s Consolidate command | It summarises matching ranges rather than stacking records. |
The main ways to combine Excel files, and where each one breaks
| Method | Works well when | Struggles when |
|---|---|---|
| Copy and paste | A few files, identical columns, one-off job. | Columns are in a different order, header rows get pasted as data, or you have to do it again next month. |
| Power Query (Data › Get Data › From File › From Folder) | Many files with the same structure, especially a job you repeat and refresh. | Headings differ between files. Microsoft’s guidance is that the files should share the same schema, so differences mean extra query steps. |
| Excel’s Consolidate command | You want totals or averages from matching ranges. | You need every individual row in the output. |
| VBA macro | Someone can write and maintain the code. | The layout changes, or macros are blocked where you work. |
| Python (pandas) | You already work in code and want a repeatable, testable script. | Nobody on the team maintains Python, or every file needs individual judgement about its headings. |
| Basic online merger | Identical files that only need stacking. | Headings differ, or a title row sits above the table. Many simply append in file order. |
| Workflow / ETL tool | Scheduled data movement between systems. | The inputs are ad hoc spreadsheets that people edit by hand. Setup is heavier than the job. |
| ConsoliSheet | Files whose columns differ in order, capitalisation or presence, and you want a guided browser workflow. | You need to reshape data, for example unpivoting, joining tables or adding calculated columns. Use Power Query for that. |
How the options compare
| Copy & paste | Power Query | Python | Online merger | ETL tool | ConsoliSheet | |
|---|---|---|---|---|---|---|
| Identical files | Good | Excellent | Excellent | Good | Excellent | Good |
| Inconsistent headings | Manual | With rename steps | With rename code | Often weak | With mapping setup | Designed for it |
| Title rows above the table | Manual | With extra steps | With extra code | Often weak | With extra setup | Detected per file |
| Repeat with one click | No | Yes | Yes | No | Yes, scheduled | No, each job is a fresh upload |
| Skill needed | None | Moderate | Programming | None | Technical | None |
| Human review step | Implicit | You build it | You build it | Rarely | You build it | Built in |
| Source file on each row | Manual | Source.Name column | One line of code | Varies | Configurable | Automatic |
| Reshaping and joins | Manual | Extensive | Extensive | Rarely | Extensive | Not offered |
Combining Excel files with Python
If you work in code, pandas lines files up by column name and keeps every column:
import pandas as pd
from pathlib import Path
frames = []
for path in sorted(Path("reports").glob("*.xlsx")):
df = pd.read_excel(path)
df.columns = [str(c).strip() for c in df.columns]
df["Source File"] = path.name
frames.append(df)
combined = pd.concat(frames, ignore_index=True, sort=False)
combined.to_excel("combined.xlsx", index=False)pd.concat matches columns by exact name, so “Order ID” and “order_id” still become two columns until you rename them, and read_excel assumes the headings are on the first row. Both are solvable in code; the question is whether someone wants to own that code.
When a simple merge is enough
Plain copy and paste, or a basic Power Query folder import, is fine when all of these are true:
- every file uses exactly the same headings, spelled the same way;
- the columns are in the same order;
- the headings are in the same row and there are no title rows, notes or totals around the table;
- dates and numbers are stored the same way in every file.
If you control the template and the files really are identical, you probably don’t need anything more.
What goes wrong when the columns don’t match
Copying by position assumes column B means the same thing in every file. Here is what happens when feb.xlsx from the example above is pasted underneath jan.xlsx:
| Order ID | Customer | Amount | |
|---|---|---|---|
| 2 | 1001 | Acme Ltd | 120.00 |
| 3 | 85.50 | 1002 | North |
| Order ID | Customer | Amount | Region | |
|---|---|---|---|---|
| 2 | 1001 | Acme Ltd | 120.00 | |
| 3 | 1002 | 85.50 | North |
The same thing happens in quieter ways:
- A missing column shifts everything to its right one place to the left.
- An extra column is either lost or pushes other values out of line.
- A heading spelled differently, such as “Order ID” and “order_id”, becomes two half-empty columns in tools that match names exactly.
- Title rows, blank rows and totals end up in the data, and a totals row counts everything twice.
None of these produce an error message. The result looks finished, which is why they are easy to miss.
How to consolidate Excel files with different columns
The step that takes judgement is the fourth. A column that only one file has can usually be kept and left blank elsewhere. Two headings that sound alike, such as “Gross Sales” and “Sales”, need someone who knows the data to say whether they really are the same. Combine Excel files with different columns goes deeper into those decisions.
Doing it in ConsoliSheet
Jobs with up to five business columns are free, with no account. Source File doesn’t count towards the five. Larger jobs can be checked and previewed free; the complete file is $11.99 one-time, or included with Pro at $19.99 a month. See pricing for details.
When Power Query is the better choice
If you combine the same set of identically structured files every month and you are comfortable building a query, Power Query is hard to beat: it is already in Excel for Windows, it refreshes with one click and it can reshape the data as it goes. Power Query vs ConsoliSheet compares the two side by side if you are deciding between them.
Checks before you rely on the result
- Row count. The rows in the output should equal the data rows in all the source files added together.
- Blanks in key columns. A blank Order ID or Date often means a column was not matched.
- Duplicates. The same record sent in two files is a business question, not something to delete automatically. ConsoliSheet keeps duplicates and warns you about them.
- Dates. 01/02/2026 is 1 February in the UK and 2 January in the US. Check files from different sources agree.
- Totals rows. Make sure no subtotal or grand total rows have been counted as data.
Common questions
How do I combine multiple Excel files into one sheet?
If the files are identical in layout, copy and paste the rows under one set of headings, or use Power Query’s From Folder import. If the columns differ, match them by heading rather than position, leave blanks where a file has no value, and add a column recording which file each row came from.
Can I merge Excel files that have different columns?
Yes, as long as you match columns by name rather than position. Columns that only some files have can be kept and left blank for the others. Headings that are worded differently but mean the same thing need a person to confirm them.
Does Power Query work when the files have different columns?
Partly. Microsoft’s documentation says the files you combine should share the same structure. In the default setup, the example file decides which columns come through, so columns that aren’t in it can be left out and headings spelled differently arrive as separate columns. Both can be fixed with extra query steps.
Will consolidating change my original files?
It shouldn’t. Work on copies, and treat the consolidated workbook as a new output. ConsoliSheet never modifies the files you upload; it creates a new workbook for you to download.
How many Excel files can I consolidate at once in ConsoliSheet?
Up to 50 files per job, each up to 20 MB and 100 MB in total, in XLSX or CSV format.
What is the best way to combine multiple Excel files?
It depends on the files. For identical files, copy and paste or Power Query is enough. For a repeated job with a stable structure, Power Query is usually best. For a coded workflow, use Python. For files from different people that don’t quite match, a consolidation tool such as ConsoliSheet saves the matching work. For scheduled multi-system pipelines, use an ETL tool.
What is the difference between merging and consolidating spreadsheets?
People use the words loosely. Merging often means stacking rows from files that already match, or joining two tables on a key. Consolidating usually means producing one clean, consistent dataset from several sources, which includes lining up columns that differ and checking the result. Excel’s Consolidate command is narrower still: it summarises values.
What is the best alternative to manually copying data between Excel files?
Power Query if the files share a structure and you repeat the job; a guided consolidation tool such as ConsoliSheet if the files differ and you want them combined without building a query.
Got files that don’t quite line up?
Upload your Excel or CSV files and see the proposed columns before anything is combined. Free for up to five business columns, no account needed.
Consolidate spreadsheets free