Back to Airtable in Excel
SheetXAI logo
Airtable logo
Airtable · Excel Guide

Upsert Records from an Excel Workbook into Airtable Without Creating Duplicates

The Scenario

You are an HR coordinator. Every Monday at 7 AM your HRIS drops an export: an Excel workbook on OneDrive with 500 employee records, columns for Employee ID, First Name, Last Name, Department, Title, and Manager.

Your Airtable Employees base is what other tools read. Some employees are already there from last week's sync. New hires need to be created. Existing employees need their Department or Title updated if anything changed.

The naive approach:

  • You download the workbook, open it in Excel
  • You try to figure out which 500 records are new versus existing
  • You export the current Airtable base to cross-reference
  • You paste both datasets side by side, run a VLOOKUP, and try to identify the differences
  • You manually create the new records, manually update the changed ones
  • An hour later, three records have wrong Department values because the VLOOKUP pulled a stale row.

The right version is one prompt.

The Easy Way: One Prompt in SheetXAI

SheetXAI reads the workbook and calls Airtable's upsert API, matching on Employee ID, so new employees are created and existing ones are updated without you having to sort out which is which.

Open the SheetXAI sidebar and type:

For every row in the Employees tab of this workbook, upsert a record in my Airtable 'Employees' table matching on the Employee ID field in column A. Update First Name, Last Name, Department, Title, and Manager for existing records. Create new records for any Employee ID not already in the table.

SheetXAI runs the upsert across all 500 rows. It reports back how many were created and how many were updated, so you have an audit trail before the week starts.

What You Get

One clean sync across 500 rows:

  • New hires created — any Employee ID not in Airtable becomes a new record
  • Existing employees updated — Department, Title, and Manager overwritten with current values
  • No duplicates — the match on Employee ID ensures one record per employee
  • A run summary — created count, updated count, error count

You do not have to diff the workbook against Airtable. The upsert operation handles the comparison.

What If the Data Is Not Quite Ready

HRIS exports are rarely clean. SheetXAI validates and upserts in the same prompt.

When the Department column uses abbreviations that differ from Airtable's values

The export says "Eng" but Airtable has "Engineering." The upsert would set the field to "Eng" and create a mismatch.

Before upserting, normalize the Department column in the Employees tab: map "Eng" to "Engineering," "Mktg" to "Marketing," and "Ops" to "Operations." Then upsert to the Airtable 'Employees' table matching on Employee ID.

When new hires have blank Manager values that should not overwrite existing ones

You do not want a blank Manager field in the export to clear out a correctly-set value for an existing employee.

Upsert all rows in the Employees tab to the Airtable 'Employees' table matching on Employee ID. For existing records, only update the Manager field if column F is not blank — skip the Manager update for rows where column F is empty.

When only one department's records should sync this run

Payroll is asking about the Finance team only this week.

Filter to rows in the Employees tab where column D equals 'Finance.' Upsert those rows only into the Airtable 'Employees' table, matching on Employee ID in column A, updating all other fields.

When you need the upsert plus a post-run audit in one go

You need to sync, then immediately verify everything landed correctly.

Upsert all 500 rows from the Employees tab to the Airtable 'Employees' table matching on Employee ID. After the upsert, pull every record back from Airtable and compare the Department and Title fields to the values in the workbook. Write any discrepancies into a new tab called 'Audit' with columns: Employee ID, Expected Department, Airtable Department, Expected Title, Airtable Title.

The pattern: upsert handles the create-or-update decision, and the audit step catches anything that did not land correctly.

Try It

Get the 7-day free trial of SheetXAI and open any recurring export workbook you sync into Airtable, then ask SheetXAI to upsert on your key field. The Airtable integration is included in every SheetXAI plan. See also how to bulk-update records from a workbook or the Airtable in Excel overview.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more