What Most People Miss About How the TODAY Function Works in Excel

Most Excel tutorials treat TODAY() like a harmless date stamp — 'just type =TODAY() and you’re done.' That’s dangerously misleading. It doesn’t capture the date you entered the formula. It captures whatever date Excel thinks it is *right now* — even if you’re reviewing last month’s sales report on Friday and your colleague opens the file Monday. Your ‘snapshot’ just changed without warning.

Quick Answer

TODAY() returns the current date as a serial number (e.g., 45372 for 2024-03-15), updates automatically whenever Excel recalculates (on open, edit, or F9), and has no arguments — typing =TODAY() is all you need. It never locks in; it always lives in the present.

All the Methods

Method Steps Best For Limitations
=TODAY() Type in any cell (e.g., A1). Press Enter. Dynamic date headers, aging reports, status dashboards No control over recalculation; breaks audit trails
Paste as Value Enter =TODAY(), copy cell, right-click → Paste Special → Values Invoices, contracts, PDF exports where date must be fixed Manual step — easy to forget; no visual cue it’s static
Keyboard Shortcut + Paste Alt + = (inserts TODAY), then Ctrl + Alt + V → V → Enter Fast one-step static date entry for forms or templates Only works after formula is inserted — can’t shortcut the paste step alone
=TEXT(TODAY(),"dd-mmm-yyyy") Wrap TODAY() in TEXT() to control display format without changing underlying value Reports needing readable dates (e.g., "15-Mar-2024") while keeping serial number intact for calculations Result is text — can’t be used in date math unless converted back

Method 1 Deep Dive

Type =TODAY() in cell B2 of your sales tracker. Hit Enter. You’ll see today’s date — say, 2024-03-15. Now go to cell C2 and type =B2+7. It returns 2024-03-22. That’s correct — Excel treats TODAY() as a serial number (45372), so arithmetic works cleanly.

Here’s the surprise: Open that same file next Tuesday. Even if you haven’t touched B2, it now shows 2024-03-19 — and C2 updates to 2024-03-26. No editing required. Recalculation happens on open. That’s why I once saw a client’s Q1 summary slide show ‘Q1 2024’ in March… and ‘Q2 2024’ in April — because their dashboard header used ="Q"&ROUNDUP(MONTH(TODAY())/3,0)&" "&YEAR(TODAY()). The formula was correct. The timing wasn’t.

Real example from Acme Corp’s pipeline sheet:
A1: "Opportunity" | B1: "Owner" | C1: "Created Date" | D1: "Days Open"
A2: "Cloud Migration" | B2: "Sarah Chen" | C2: "2024-02-10" | D2: =TODAY()-C2
D2 shows 34 on March 15. On March 20? It shows 39. No formula change. Just time passing.

Method 2 Deep Dive

Need a fixed date? Don’t rely on memory. Use the keyboard shortcut combo: Alt + = inserts TODAY() instantly — no typing. Then, without moving your hands, press Ctrl + Alt + V, release, press V, then Enter. That pastes the *value only*, freezing the date.

This saved me last week when prepping a vendor agreement for signature. My template had =TODAY() in cell E5 for “Effective Date.” But legal flagged it: “This must reflect the day we send it, not the day they sign.” So I re-ran the shortcut combo — and now E5 holds 45372 as a static number, formatted as 2024-03-15. No risk of drift.

Try it in this sample data block (paste into A1):

Document Prepared By Date Issued
Service Level Agreement James Lopez =TODAY()
NDA – TechVendor Inc Maya Roberts 2024-03-15
PO #7821 Rajiv Mehta 2024-03-15
Invoice #IN-994 Lisa Wong 2024-03-15
Rows 2–5 all show 2024-03-15 — but only row 2 will change tomorrow. The others are locked. That difference decides whether your audit log stays clean.

Cheat Sheet

Action Shortcut / Formula Cell Example Notes
Insert dynamic today Alt + = A1 Updates every recalc — use only for live dashboards
Freeze as static date Alt + = → Ctrl + Alt + V → V → Enter B3 No formula remains — pure value. Safe for contracts.
Format as readable text =TEXT(TODAY(),"yyyy-mm-dd") C7 Output is text — can’t add days unless wrapped in DATEVALUE()
Get yesterday =TODAY()-1 D10 Works reliably — serial numbers make date math trivial
Test recalc behavior Press F9 Any cell with TODAY() Forces full recalc — confirms TODAY() isn’t stuck
Rachel Torres

Rachel Torres

Rachel coaches teams on email management and digital communication best practices. She has trained over 5