Run your first merge
About ten minutes, using a main table and one weekly export. Nothing is written to your sheet until you approve a preview.
1. Before you start
Install the add-on, open your spreadsheet, and choose Extensions → Merge & Update → Open sidebar. Google will ask you to authorize access the first time; the add-on needs it to read the tables you select, write the results you approve, find spreadsheets in Drive, and create scheduled runs.
Have two things ready:
- a main table — the one that should end up correct;
- a lookup table — the fresher data, in the same file or another spreadsheet.
Both work best with a header row, and at least one column the two tables share, such as an email address, SKU, or order ID.
2. Choose the main table
In step 1 of the sidebar:
- The current spreadsheet is filled in for you. To target a different file, paste its URL and choose Load tabs.
- Pick the tab that receives updates.
- Leave Range blank to use all data, or narrow it — Detect range fills in the used range, Use selection takes whatever you have highlighted. A narrower range runs faster and is the usual fix for large sheets.
- Leave First row is headers checked unless your table genuinely has no header row.
3. Add a lookup table
Step 2 holds one block per lookup. Paste a spreadsheet URL and choose Load tabs, or open Find files in Google Drive and search by name. Then pick the tab and, optionally, a range.
You can add several lookups with + Add lookup table. They run top to bottom, so put the most authoritative source last if two sources can fill the same cell — the later run wins. Use ↑ Move up to reorder. Lookup tables are only ever read; they are never modified.
4. Match and map columns
Choose Match & map columns inside the lookup block. Two lists appear:
Match records by
The key. One pair — lookup column on the left, main column on the right — is enough when a single field identifies a row. Add a second pair with + Matching key when it takes a combination, such as Region plus SKU. All pairs must agree for a row to count as a match.
Update or add columns
What actually changes. Each row maps a lookup column onto a main column, or onto + New column to append it to the right of your table. Auto-map by header pairs up columns with identical header names and flags the rest as new — a good starting point you can then trim.
5. Options worth knowing
Step 3 shows the two decisions that matter most and keeps the rest behind disclosures.
- Append new records — lookup rows with no match are added to the bottom. Turn it off to update existing rows only.
- Only fill empty cells — never replaces a value that already exists. The safest first run.
- Write results to — update the main table, or produce a new spreadsheet and leave the original alone.
- Back up the main tab first — a copy of the tab before the merge. Leave it on.
- Matching rules — case sensitivity, ignoring empty keys or empty lookup values, and what to do when a lookup has several matches: use the first, append the extras, or insert them beside the matching row.
- Formatting & tracking — highlight changed cells in a color you pick, clear old fills in updated columns, or add a row-status column recording what happened to each row.
Formulas outside the mapped columns are preserved. Text imported from a lookup that looks like a formula stays literal text.
6. Preview and apply
Choose Preview changes. You get counts — rows updated, existing cells changed, rows added, columns added — plus a sample of up to 8 rows and 8 columns. Read the counts first; a surprising number of added rows usually means the matching key doesn’t line up.
Tick the approval box, which explicitly covers replacing existing values in mapped columns, then choose Apply merge. Editing any setting afterwards clears the preview, so you can never apply a result you didn’t just review.
What a completed merge looks like
Illustrative sample data — not a customer result.
| Phone | Plan | ||
|---|---|---|---|
| 2 | ada@example.com | 555-0188 | Pro |
| 3 | grace@example.com | 555-0121 | Starter |
| 4 | katherine@example.com | 555-0147 | Starter |
7. Save it as a workflow
Open Save as a workflow at the bottom of step 3, give it a name like “Weekly customer refresh”, and save. The Workflows tab lists saved configurations: load one to edit it, export it as JSON to share or back up, or delete it.
Save as new creates a second workflow instead of overwriting the one you loaded. Deleting a workflow does not delete schedules built from it — schedules keep their own copy of the settings.
8. Run it on a schedule
On the Schedules tab, pick a saved workflow, choose daily, weekly, or monthly, and set the start hour. Weekly shows a day picker; monthly lets you choose a day of the month or a pattern such as the last Monday. Confirm that the workflow may update your sheets automatically, then create the schedule.
Schedules run under your Google account in the time zone shown in the sidebar. Google may delay a run, and a failed run pauses so you can inspect it. Existing schedules can be paused, resumed, edited, or deleted, and Open execution log shows the run history.
9. Troubleshooting
Everything appended instead of updating
The matching key isn’t matching. Check that both key columns hold the same kind of value, watch for trailing spaces, and try turning off case-sensitive matching.
Cells I expected to change didn’t
Likely Only fill empty cells is on, the column isn’t in the mapping list, or Ignore empty lookup values is skipping blank source cells.
The run timed out or hit a quota
Merges execute inside your Google account under Apps Script’s runtime and daily quotas. Set an explicit range instead of a whole sheet, reduce the number of mapped columns, or split the job into smaller runs.
“Select the range on this lookup tab first”
Use selection only reads a selection made on that specific tab. Open the lookup tab, highlight the range, then choose it again — or type the range in directly.
Still stuck?
Email support with a description of the problem and a redacted example. Please do not send private spreadsheet contents or grant file access unless support requests it and you choose to share it.