Managing multiple Google Sheets across projects, departments, or clients can get messy fast. Whether you're consolidating monthly reports, combining survey responses, or unifying scattered data sources, merging multiple Google Sheets into one central file can save time, reduce errors, and streamline collaboration.
This guide will show you how to merge data from multiple Google Spreadsheets into one master sheet—both manually and automatically using Google Apps Script, so you can choose the method that suits your workflow.
You might want to merge spreadsheets if:
Each team member maintains their own Google Sheet
Monthly data is stored in separate files
You’re combining Google Form responses from multiple sources
You want to create a central dashboard or report
If you only need to combine data once, manual copy-paste is a fast, simple method.
Open each source spreadsheet in a new tab.
Copy the relevant data (e.g., from Sheet1).
Paste it into the destination spreadsheet (your master sheet).
Ensure columns match across sheets before merging.
No setup required
Instant results
Tedious for more than a few files
Easy to introduce errors or misalignment
Not scalable
IMPORTRANGE() FunctionIMPORTRANGE() lets you link data from another Google Sheet, and updates in real time.
=IMPORTRANGE("spreadsheet_url", "Sheet1!A1:Z1000")
In your master sheet, choose a tab to pull data into.
In A1, enter the formula:
=IMPORTRANGE("https://docs.google.com/spreadsheets/d/abc123XYZ/edit", "Sheet1!A1:Z")
Authorize access when prompted.
Repeat for each sheet and stack the imported data in separate tabs or side-by-side.
Data stays updated in real-time
No coding required
No automatic consolidation into one table (unless you use queries)
Becomes complex with many files
If you need to merge multiple spreadsheets into a single sheet, especially from different Google Drive locations, use Apps Script to automate the process.
Open your destination spreadsheet.
Go to Extensions > Apps Script
Replace default code with:
function mergeSheetsFromMultipleFiles() {
// List of spreadsheet URLs
var fileUrls = [
"https://docs.google.com/spreadsheets/d/FILE_ID_1/edit",
"https://docs.google.com/spreadsheets/d/FILE_ID_2/edit",
"https://docs.google.com/spreadsheets/d/FILE_ID_3/edit"
];
var destinationSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master") || SpreadsheetApp.getActiveSpreadsheet().insertSheet("Master");
destinationSheet.clear(); // optional: start fresh
var headerWritten = false;
fileUrls.forEach(function(url) {
var file = SpreadsheetApp.openByUrl(url);
var sheet = file.getSheets()[0]; // get the first sheet in the file
var data = sheet.getDataRange().getValues();
if (!headerWritten) {
destinationSheet.getRange(1, 1, data.length, data[0].length).setValues(data);
headerWritten = true;
} else {
destinationSheet.getRange(destinationSheet.getLastRow() + 1, 1, data.length - 1, data[0].length).setValues(data.slice(1));
}
});
SpreadsheetApp.flush();
}
Replace FILE_ID_1, FILE_ID_2, etc., with your actual spreadsheet IDs or URLs.
Click Run, then authorize access when prompted.
Fully automated merging
Can be scheduled or triggered
Combines all sheets into one clean table
Requires minor coding
Sheet structures must match (same columns)
If all your spreadsheets are stored in the same Drive folder, you can fetch and merge them by folder ID.
function mergeFromFolder() {
var folder = DriveApp.getFolderById("YOUR_FOLDER_ID");
var files = folder.getFilesByType(MimeType.GOOGLE_SHEETS);
var masterSheet = SpreadsheetApp.getActiveSpreadsheet().getSheetByName("Master") || SpreadsheetApp.getActiveSpreadsheet().insertSheet("Master");
masterSheet.clear();
var headerWritten = false;
while (files.hasNext()) {
var file = files.next();
var sheet = SpreadsheetApp.open(file).getSheets()[0];
var data = sheet.getDataRange().getValues();
if (!headerWritten) {
masterSheet.getRange(1, 1, data.length, data[0].length).setValues(data);
headerWritten = true;
} else {
masterSheet.getRange(masterSheet.getLastRow() + 1, 1, data.length - 1, data[0].length).setValues(data.slice(1));
}
}
}
Replace "YOUR_FOLDER_ID" with the actual ID from your Google Drive folder URL.
Easily scales with 10, 50, or 100 files
Zero need to hardcode URLs
Reusable and adjustable
If you prefer no-code solutions, use a trusted add-on:
Sheetgo – Connect, merge, and automate spreadsheets
Coupler.io – Import data from multiple sources
Merge Sheets by Ablebits – Powerful merging options
Go to Extensions > Add-ons > Get add-ons
Search for and install one of the tools
Follow in-app instructions to link and merge files
User-friendly
Powerful configuration options
Handles complex merging
Some features are paid
Limited automation unless upgraded
| Scenario | Recommended Method |
|---|---|
| One-time merge | Manual or IMPORTRANGE() |
| Real-time sync | IMPORTRANGE() or Add-ons |
| Regular bulk merging | Google Apps Script |
| Merge by folder | Apps Script with folder logic |
| Non-technical users | Add-ons like Sheetgo or Coupler |
Merging multiple Google Spreadsheets into one doesn't have to be a tedious, error-prone task. Whether you're working with a handful of files or hundreds of spreadsheets across folders, Google Sheets and Apps Script offer flexible, powerful options to bring everything together efficiently.