Two People Updating the Same Spreadsheet: How to Stop Silent Overwrites
Back to blog
automation·September 5, 2026·4 min read·By Yehonatan Saadia

Two People Updating the Same Spreadsheet: How to Stop Silent Overwrites

A silent overwrite happens when two people save the same row. What Google Sheets, Excel on a network share and the Access Write Conflict box each do about it.

Key takeaways

  • The problem is not "two people in the file" but "two people who saved the same row", and several minutes usually pass between those two moments.
  • Excel co-authoring works only on OneDrive or SharePoint. Paths such as \\\\server\\folder are not supported.
  • One user opening the file in a version that does not support co-authoring is enough to give everybody else the locked message.
  • Access shows a Write Conflict dialog with three options, one of which silently overwrites the other person's work.
  • The durable answer is a version field per row, so the second save is rejected instead of quietly succeeding.

A silent overwrite occurs when two people load the same row, both edit it, and the second save replaces the first without anyone being told. Google Sheets merges edits at cell level. An Excel file on a network share does not merge at all. The control you need follows from where the file lives.

A silent overwrite, minute by minute

Dana handles orders, Amir handles stock. Both work in the same orders spreadsheet. Neither of them did anything wrong.

TimeDanaAmirWhat row 412 holds
09:14Opens the file, sees row 412-Qty 12, status "pending"
09:16-Opens the file, sees the same rowQty 12, status "pending"
09:19Changes qty to 9 after a call with the customer-Qty 9
09:23-Sets status to "shipped" and saves from his copyQty 12, status "shipped"
09:40Prints the delivery note-12 units instead of 9

Dana's change disappeared at 09:23. No error appeared, nobody was asked anything, and the discovery arrives with the customer return. That is a silent overwrite: not a bug and not carelessness, but the default behaviour of a tool with no update control.

Why does Google Sheets survive this and an Excel file on a share does not?

Because they operate on a different unit. Google Sheets transmits each edit separately and merges it at cell level, so two people editing different cells in the same row do not overwrite each other. Excel on a traditional network share works at file level: whoever opened first holds the lock, and the second person gets read-only or saves a copy.

Microsoft documents the conditions explicitly. Co-authoring requires the file to be stored on OneDrive, OneDrive for Business or SharePoint, and is not supported on server paths of the form \\server\folder or on third-party cloud drives. Two further traps break it even when the file is in the right place:

  • One user opens it in an Office version that does not support co-authoring, and everyone else receives the locked message.
  • The file contains a PivotTable or data connection with "Refresh data when opening the file" ticked. That option disables co-authoring.

Where the file lives decides which failure you get

LocationControl mechanismWhat happens on a clashWhat is lost
Google SheetsCell-level mergeBoth edits are keptOne value, if both typed into the same cell
Excel on OneDrive or SharePointCo-authoring with AutoSaveChanges appear within secondsUsually nothing, while everyone is on a supporting version
Excel on \\server\folderFile-level lockThe second person gets read-only or a copyA whole file, if a copy is saved and worked in
Access, split front end and back endRecord-level lockThe Write Conflict dialogOne record, depending on the button pressed
A database with a version fieldOptimistic concurrencyThe second save is rejected with a messageNothing - the user is asked to reload

The last row is the only one where the conflict becomes a visible event. In all the others it is resolved in the background, sometimes at someone's expense.

The Access answer: the Write Conflict dialog

When an Access application is split into front end and back end, locking is at record level, and a user saving a record that changed in the meantime gets a Write Conflict dialog with three options:

  • Save Record - overwrites the other person's change. Whoever held the lock wins, and the other loses their work.
  • Copy to Clipboard - copies the record with your changes to the clipboard and displays the other person's changes, so you can compare and decide.
  • Drop Changes - you give up your edit and let theirs stand.

The middle button is the only one that preserves both versions, and it is the one almost nobody presses. One confusing case Microsoft documents is worth knowing: the dialog also appears when a single user has the same record open in a form and in a table at once. "The other person" is then you.

What "last write wins" costs, and how to stop it

Two approaches work, and they are not mutually exclusive:

  1. Optimistic concurrency on a version field. Each row carries a field that changes on every update. The client sends back the value it read; if that no longer matches, the save is rejected. In SQL Server this is the rowversion type, and Access uses it in a linked table to determine when the record was last updated.
  2. Ownership of a field, not of a row. Dana owns quantity, Amir owns status. If each writes only to their own fields, the conflict simply does not exist. This is the cheapest approach and almost always the right one for an operational spreadsheet.

The third approach, pessimistic locking - reserving the row for exclusive editing - is correct for short transactions and harmful the moment someone walks into a meeting with a row still locked.

Which questions do you answer before picking a mechanism?

  • How long passes between a row being loaded and being saved? Five seconds and two minutes are different problems.
  • Are the two people touching the same field, or only the same row?
  • What does it cost to reconstruct an overwrite discovered two days later? That sets how much control is justified.
  • Do you need a record of who changed what? Google Sheets offers right-click on a cell > Show edit history, plus version history for the file.
  • Who decides when both versions are legitimate?

Controls you can add to a spreadsheet this week

  • Move the file to OneDrive or SharePoint if it sits on a network share, so real co-authoring becomes possible.
  • Set protected ranges so each role writes only to its own columns.
  • Add "updated by" and "updated at" columns written automatically.
  • Untick "Refresh data when opening the file" on every PivotTable and data connection in the workbook.
  • Separate input from reports, so two people are not writing into the same tab to begin with.
  • Write down one clear rule about who updates which field - in the sheet itself, not in somebody's memory.

When the collisions come from the database rather than from the spreadsheet, the symptoms differ - see diagnosing SQL deadlocks and timeouts. And if the spreadsheet itself has become infrastructure, read when a spreadsheet has outgrown itself and handing over a single-owner spreadsheet.

Sources

#Google Sheets#Excel#Access#concurrency#file sharing#אקסל

Frequently asked questions

How do I find out after the fact that a value was overwritten?

In Google Sheets, right-click the cell and choose Show edit history to see who changed the value and when, alongside version history for the whole file. Google notes that some changes may not appear in that history, so treat it as an investigative tool rather than complete evidence.

Does locking the file solve the problem?

It prevents overwrites and creates a queue. One person works, everyone else waits, and whoever goes to lunch with the file open stops the department. In a process where two people touch different fields of the same row, splitting field ownership beats locking almost every time.

Why did we get a locked message even though the file is on SharePoint?

The usual cause is one user opening it in an Office version that does not support co-authoring - a single one is enough to block everybody. The second cause is a PivotTable or data connection in the workbook with "Refresh data when opening the file" ticked, which disables co-authoring.

What is rowversion and why does it help?

`rowversion` is a SQL Server type whose value changes automatically on every update to the row. An application that sends back the value it read is rejected if that value no longer matches, meaning somebody got there first. Access uses this field in a linked table to detect that the record was updated.

Keep reading

Related service

Business Automation

I build custom automations that remove repetitive work end to end.

Learn more →←

About the author

Yehonatan Saadia

Freelance automation, web & MVP developer

I'm Yehonatan Saadia, a senior developer who builds business automation, custom websites, and MVPs for small and mid-sized companies across the US, Europe, and Israel. These guides come from real client work, not theory.

Work with me

Have a project like this?

Tell me what you're trying to automate or build. I reply within 24 business hours with a few targeted questions, then we walk through it on a free 30-minute call, with no commitment. You come away with a scope, a timeline and a fixed price - or a straight answer that it isn't worth building.