Type =NOW() in any cell. But if your report shows yesterday’s time when you reopen it—or prints as 0:00—Excel just lied to you (and didn’t tell you why).
The Problem
You’re building a client status tracker in Excel. Sales reps update rows manually, and you want each row to log the exact time they hit ‘Save’. You slap =NOW() into column D, copy it down, and call it done. Next morning? All timestamps say 10:47 AM — even though Sarah Chen updated her row at 2:15 PM yesterday and Rajiv Patel submitted his at 8:03 AM today.
Here’s what your sheet *actually* looks like right now — not what you expected:
| A: Client | B: Rep | C: Status | D: Last Updated (Current =NOW()) |
|---|---|---|---|
| Acme Corp | Sarah Chen | Proposal Sent | 45678.427 |
| Nexus Labs | Rajiv Patel | Contract Signed | 45678.427 |
| Veridian Group | Maya Rodriguez | Follow-up Scheduled | 45678.427 |
| Stellar Dynamics | James Wu | Initial Contact | 45678.427 |
| Orion Solutions | Priya Mehta | Demo Completed | 45678.427 |
That 45678.427? That’s Excel’s raw serial number for 2024-12-26 10:15 AM — but every row shows the *same* number because =NOW() recalculates only when Excel recalculates. And by default, Excel doesn’t recalculate on open — unless you’ve changed the setting. Worse, it recalculates *every time you edit anything*, so your ‘last updated’ stamp changes mid-workflow.
The Solution
You don’t need VBA. You don’t need macros. You need three things: correct formatting, manual recalculation awareness, and one critical toggle. Here’s how to fix it in order:
- In cell D2, type
=NOW(). Press Enter. - Select D2, then press Ctrl+1 → choose ‘Custom’ → type
yyyy-mm-dd hh:mm:ss→ click OK. (Yes, that format matters —m/d/yyyy h:mmwill truncate seconds and misalign across time zones.) - Go to File → Options → Formulas. Under ‘Calculation options’, check ‘Recalculate workbook before saving’. This is the single most overlooked checkbox in Excel’s entire interface.
- To force an immediate update *right now*, press F9. Watch D2 jump to the current second.
Now copy D2 down to D6. Save and close. Reopen. All five timestamps reflect the moment you saved — not when you first typed =NOW().
| A: Client | B: Rep | C: Status | D: Last Updated (Fixed) |
|---|---|---|---|
| Acme Corp | Sarah Chen | Proposal Sent | 2024-12-26 14:15:33 |
| Nexus Labs | Rajiv Patel | Contract Signed | 2024-12-26 14:15:33 |
| Veridian Group | Maya Rodriguez | Follow-up Scheduled | 2024-12-26 14:15:33 |
| Stellar Dynamics | James Wu | Initial Contact | 2024-12-26 14:15:33 |
| Orion Solutions | Priya Mehta | Demo Completed | 2024-12-26 14:15:33 |
Notice: all rows still match — because they were stamped at save time. That’s *correct behavior* for audit logs. If you want per-row timestamps, keep reading.
Going Further
Need different behaviors? Here’s what works — and what doesn’t.
- Per-row static timestamp? Use Ctrl+; for date only, or Ctrl+Shift+; for time only. Paste values immediately (Ctrl+Alt+V, then V, then Enter) to lock them.
- Dynamic but non-updating? Wrap
=NOW()in=IF(A2="","",NOW())— but this still updates on every recalc. Better: use=IF(ISBLANK(A2),"",IF(D2="",NOW(),D2))in D2, then drag down. Then press F9 once — it’ll populate only blank cells and leave others untouched. - Timezone-aware? Excel has no native timezone support. If your team spans PST, EST, and CET, add a helper column with offset:
=NOW()+TIME(3,0,0)for CET (adjust hours as needed). Don’t rely on Windows system settings — they lie when files move between machines.
Surprising tip: =NOW() returns local machine time — *not* file server time. So if your Excel file lives on SharePoint but opens on a laptop set to Tokyo time, the stamp reflects Tokyo. Not the server. Not UTC. Just whatever clock Windows thinks it is.
When NOT to Use This
=NOW() breaks silently in four situations. Know them before your finance team spots the error.
- Shared workbooks: If ‘Share Workbook’ is enabled (Legacy feature, under Review → Share Workbook),
=NOW()freezes completely. It won’t update, ever. Turn sharing off or switch to co-authoring. - Excel Online: Web version recalculates
=NOW()every minute — not on save, not on edit. So your ‘last updated’ drifts up to 59 seconds behind reality. - Printed reports: Printed pages show the time *when you clicked Print*, not when saved. If you save at 9 AM, print at 5 PM, the footer says 5 PM. Always paste as values before final PDF export.
- Power Query sources: If column D pulls from Power Query,
=NOW()in the worksheet won’t override it. The query output wins. Stamp inside the query instead:Date.LocalNow()in M code.
Keyboard Shortcuts
| Action | Shortcut | Notes |
|---|---|---|
| Insert current date | Ctrl+; | Static value — no formula |
| Insert current time | Ctrl+Shift+; | Static value — no formula |
| Force full recalculation | F9 | Updates =NOW(), =TODAY(), and all formulas |
| Open Formulas dialog | Alt+M, V | Quick access to Evaluate Formula tool |
| Toggle formula view | Ctrl+` | See all formulas at once — great for spotting rogue =NOW() |