Combine Monthly Reports with Different Column Orders
Combine monthly reports into one table by matching column names rather than copying columns by position. This walkthrough uses sales-january.xlsx and sales-february.csv: two small reports with different column orders, a new Sales Rep field, and one repeated order. The goal is an output you can explain and check against its sources.
CombineSheets processes the inputs in your browser. File contents, filenames, worksheet names, column names, and cell values are not uploaded. The result contains values only, so keep both original files if you will need their formulas, formatting, or other workbook features later.
Check the monthly reports before combining
Download the synthetic January workbook and February CSV. Open them in your spreadsheet app and inspect their labels and data rows. There is no need to invent a matching column order by hand.
| Check | January | February |
|---|---|---|
| Input type | XLSX, one January sheet | UTF-8 CSV |
| Data rows | 6 | 6 |
| First fields | Order ID, Date, Region | Region, Order ID, Date |
| Remaining fields | Product, Units, Revenue | Product, Revenue, Units, Sales Rep |
| Known overlap | One order is repeated in February | Repeated order has blank Sales Rep |
These row counts exclude the headers. Record them before combining so that you can explain a changed count afterward. Also look at an Order ID such as 000101 and confirm that it is an identifier stored as text.
For your own reports, check that a title or explanatory note does not appear above the real header. The tool uses the first non-empty row as the header. Correct blank or duplicate header names before merging; those conditions stop the merge rather than trigger a guessed mapping.
Combine monthly reports using One table
Open the main merge tool, select both samples, and put January first. Select its January worksheet and choose One table. This appends comparable order records instead of placing each source on a separate worksheet.
January determines the initial output order: Order ID, Date, Region, Product, Units, Revenue. February's existing fields match those labels even though their positions differ. Sales Rep is new, so it is appended after Revenue.
Matching ignores case and spaces at the beginning or end of a header name. It does not infer business meaning. If a real February report says Sales instead of Revenue, those names remain separate. Decide whether they mean the same thing and correct the source labels if appropriate.
Review the new and missing columns for each input. The intended new field here is Sales Rep. January has no such field, so its rows receive empty cells in that column. An empty Sales Rep value means the input does not supply that value; it should not be replaced with a made-up representative name.
Add a source column for later checks
Enable the optional Source file column if you want to trace output records. This is useful when two months contain similar-looking orders and someone later asks which input contributed a row.
For multi-sheet workbooks, source values include both the file and sheet names, such as regions-q1.xlsx - North. If an input already has a business column named Source file, the tool names its added tracking column Source file (2).
The source field answers where a row came from. It does not prove when the underlying sale occurred or which report is more accurate. Keep Date and your other business fields for those decisions. Do not use the input filename as a substitute for checking the record itself.
When duplicate removal is enabled, the added source column is ignored. Otherwise, the same business record appearing in two different inputs would look different solely because of its tracking label.
Decide whether to remove the repeated order
The two samples contain 12 data rows in total. One February row repeats a January order exactly, with Sales Rep blank. After column alignment, January's missing Sales Rep cell is also empty, so the two business rows can match.
Enable duplicate removal to retain the first copy and remove one duplicate. The expected output is 11 data rows. Because January is first in this walkthrough, the first copy of the repeated record is retained from that input.
| Choice | Input data rows | Duplicates removed | Output data rows |
|---|---|---|---|
| Duplicate removal off | 12 | 0 | 12 |
| Duplicate removal on | 12 | 1 | 11 |
This is whole-row comparison, not matching only on Order ID. If Revenue changes between two records, they are not identical business rows. The tool does not choose the newest revision or decide which amount should win.
In your own reports, decide whether repetitions are accidental before removing them. An identical row can sometimes represent a separate event. The sample contains a deliberate duplicate for practice, but your business rules determine whether removal is correct.
Review the report before downloading
Check rows read, empty rows skipped, duplicates removed, and output rows. Then inspect the new and missing columns per input. For this example, the changed column order should not create separate versions of Units or Revenue.
Use a short review list:
- Confirm that both intended inputs are selected.
- Confirm the six original fields plus Sales Rep and the optional source field.
- Check that January's Sales Rep cells are empty.
- Confirm one duplicate removed and 11 output data rows when removal is enabled.
- Inspect the repeated order's retained copy and its source.
If the result differs, return to the selection and mapping before downloading. A plausible-looking table is not enough when a missing source or extra summary sheet can change the totals.
Choose XLSX or CSV, then open the result
Choose XLSX for a workbook containing the combined table. Choose CSV when the next task requires one text table. Follow the CSV workflow for UTF-8 encoding and the optional BOM used by some spreadsheet apps.
When importing CSV, set Order ID to text. The exported text retains leading zeros, but the receiving app can turn an identifier into a number if it guesses the column type. Check both an ID and a blank value after opening the download.
Compare Revenue and Units totals using the same selected rows and duplicate choice as the merge. Removing one duplicate can legitimately change a total. Check a few individual values as well, because a total alone cannot establish that each field mapped correctly.
Finally, retain the originals alongside the checked output. Formula expressions become last saved values, and formatting is not preserved. For formula-driven inputs, review the saved-value checks before treating the combined table as a current report.