ConsoliSheet

Home / Guides

PRACTICAL GUIDE

Best ways to combine multiple Excel files into one

By ConsoliSheet · Updated

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.

Quick answerIf every file has identical headings in the same order, copy and paste works for a handful of files, and Power Query’s From Folder import works for many files or a job you repeat. Python with pandas suits a programmatic or data-engineering workflow, and workflow or ETL tools suit scheduled pipelines across systems. If the columns differ in order, spelling or number, line them up by heading rather than position, leave blanks where a file has no value, and add a Source File column so every row can be traced. ConsoliSheet does this in your browser: upload the XLSX or CSV files, check the proposed columns and download one workbook.

Three monthly files that don’t quite agree

jan.xlsx

Order IDCustomerAmount
21001Acme Ltd120.00

feb.xlsx

amountorder_idRegion
285.501002North

mar.xlsx

ORDER-IDClient NameAmount
21003Beta & Co240.00

Lined up by heading, not by position

One consolidated sheet
Order IDCustomerAmountRegionClient NameSource File
21001Acme Ltd120.00jan.xlsx
3100285.50Northfeb.xlsx
41003240.00Beta & Comar.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.

SituationUsually the best approachWhy
A few identical files, one-offCopy and paste, or a basic online mergerNothing needs matching, so anything that stacks rows is enough.
The same structured export every monthPower QueryBuild the query once, refresh it each month. Hard to beat when the structure is stable.
Part of a programmatic or data-engineering workflowPython (pandas)Scriptable, testable and free, if someone can write and maintain the code.
Files from different people or systems that don’t quite matchConsoliSheetBuilt to line up columns that differ in order, formatting or presence, and to show what needs a decision.
A scheduled pipeline across several systemsA workflow or ETL toolScheduling, connectors and monitoring matter more than spreadsheet handling.
You want totals across files, not rowsExcel’s Consolidate commandIt summarises matching ranges rather than stacking records.

The main ways to combine Excel files, and where each one breaks

MethodWorks well whenStruggles when
Copy and pasteA 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 commandYou want totals or averages from matching ranges.You need every individual row in the output.
VBA macroSomeone 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 mergerIdentical files that only need stacking.Headings differ, or a title row sits above the table. Many simply append in file order.
Workflow / ETL toolScheduled data movement between systems.The inputs are ad hoc spreadsheets that people edit by hand. Setup is heavier than the job.
ConsoliSheetFiles 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 & pastePower QueryPythonOnline mergerETL toolConsoliSheet
Identical filesGoodExcellentExcellentGoodExcellentGood
Inconsistent headingsManualWith rename stepsWith rename codeOften weakWith mapping setupDesigned for it
Title rows above the tableManualWith extra stepsWith extra codeOften weakWith extra setupDetected per file
Repeat with one clickNoYesYesNoYes, scheduledNo, each job is a fresh upload
Skill neededNoneModerateProgrammingNoneTechnicalNone
Human review stepImplicitYou build itYou build itRarelyYou build itBuilt in
Source file on each rowManualSource.Name columnOne line of codeVariesConfigurableAutomatic
Reshaping and joinsManualExtensiveExtensiveRarelyExtensiveNot 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:

Pasted by position
Order IDCustomerAmount
21001Acme Ltd120.00
385.501002North
Matched by heading
Order IDCustomerAmountRegion
21001Acme Ltd120.00
3100285.50North

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

Copy the filesWork on copies and keep the originals untouched as your record.
Find each tableNote which sheet and row the real headings are on. Ignore titles, notes and totals.
Line up by headingMatch columns by name. Treat order as irrelevant.
Decide the odd onesMissing, extra or differently named columns each need a deliberate choice.
Combine and checkAdd a Source File column, then check the row count against the originals.

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

1. Upload the files. Up to 50 XLSX or CSV files at once, each up to 20 MB. You can mix the two formats.
2. ConsoliSheet looks for the main table in each file. Title rows and separate calculation blocks are normally left out. If a sheet holds more than one plausible table, you choose which one to use.
3. Check the proposed columns. Headings that differ only in capitals, extra spaces, underscores or hyphens are matched automatically, and column order doesn’t matter. Blank or duplicated headings wait for your decision.
4. Download one XLSX. Every row keeps a Source File value, so you can trace any figure back to the file it came from.
What it won’t do: it won’t merge differently worded headings on a guess, it never recalculates formulas (you can use the values saved in the file or leave that column out), and it doesn’t open .xls or macro-enabled .xlsm files. Re-save those as .xlsx first.

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