What Most People Miss About How Excel Stores Dates

Most Excel users think a date is a date is a date. They type 2024-03-15 into cell A1, format it as Mar 15, 2024, and assume Excel ‘understands’ it like a human would. It doesn’t. Not even close.

The Myth

People believe Excel stores dates as strings, calendar entities, or ISO-formatted values—something inherently temporal. That’s why they’re shocked when =A1+1 returns 45,365 instead of an error, or why copying a date from Excel into Notepad shows 45365. They assume Excel is ‘converting’ or ‘interpreting’—but no. Excel isn’t interpreting anything. It’s just displaying a number that happens to look like March 15, 2024—if you tell it to.

The Reality

Excel stores every date as a plain integer: the number of days since January 1, 1900 (the so-called ‘1900 date system’). January 1, 1900 = 1. January 2, 1900 = 2. December 31, 2023 = 45,289. March 15, 2024 = 45,365.

Time? That’s a decimal fraction. 12:00 PM on March 15, 2024 = 45365.5. 6:00 AM = 45365.25. Midnight = 45365.0.

Date Input Actual Stored Value Cell Format Applied What You See
1/1/1900 1 Short Date 1/1/1900
2/29/1900 60 Long Date Tuesday, February 29, 1900
12/31/2023 45289 Custom: dd-mmm-yyyy 31-Dec-2023
3/15/2024 6:00 AM 45365.25 Custom: m/d/yyyy h:mm AM/PM 3/15/2024 6:00 AM
7/4/2025 45833 General 45833
Sarah Chen’s hire date (Acme Corp) 45120 Short Date 7/12/2023
Q3 deadline (Nexus Labs) 45231 mmm dd, yyyy Oct 03, 2023

Why the Myth Persists

Because Excel’s UI hides the underlying value. The ribbon shows ‘Date’ as a category—not ‘Number with fractional offset’. Help docs say ‘Excel stores dates as sequential serial numbers’, but bury it in footnote #3 of a 27-page ‘Date Functions’ overview. And most training videos start with ‘Just type the date and format it!’—never mentioning that TEXT(A1,"yyyy-mm-dd") is just string-wrapping a number.

The 1900 date system also has a famous bug: Excel incorrectly treats 1900 as a leap year. So February 29, 1900 exists in Excel—but not in reality. That’s why serial number 60 corresponds to a non-existent date. Microsoft kept it for backward compatibility with Lotus 1-2-3 in 1987. We’re still paying the price.

The Right Way

Stop thinking about ‘entering dates’. Start thinking about ‘entering numbers and applying date formatting’. Here’s how to do it deliberately:

Step Action Result Shortcut
1 Type =DATE(2024,3,15) in B2 45365 appears (General format) None needed
2 Select B2 → Home tab → Number group → click dropdown → choose ‘Short Date’ Displays as 3/15/2024 Alt + H, N, D
3 In C2, enter =B2+7 45372 → displays as 3/22/2024 (if formatted) None needed
4 In D2, type 45365, then apply Short Date format Instantly becomes 3/15/2024 — no typing, no parsing Ctrl + 1 → Number tab → Category → Date

The beauty of this approach is that arithmetic becomes trivial. Need the first day of next month? =EOMONTH(A1,0)+1 works because EOMONTH returns a serial number—and adding 1 is just integer math. What makes this elegant is that you never need to parse text, handle time zones, or worry about locale-specific separators.

Surprising tip: You can store dates as negative numbers. Serial number 0 = December 31, 1899. -1 = December 30, 1899. Try it: type -1 in A1, apply Short Date format. You’ll see 12/30/1899. Excel doesn’t block it.

Proof It Works

Here’s what happens when you treat dates as numbers vs. treating them as strings:

Scenario ‘Myth’ Approach (Text/Formatted) ‘Reality’ Approach (Serial Numbers)
Calculate days between two dates =DAYS(DATEVALUE("2024-03-15"), DATEVALUE("2023-07-12")) — fails if source cells are text =B2-A2 — works instantly, even if A2=45120 and B2=45365
Add 30 business days Complicated nested TEXT + WORKDAY formulas, often breaks on import =WORKDAY(A2,30) — clean, reliable, accepts serials or formatted dates
Filter for ‘dates after Q2 2023’ Must convert column to date first—risk of misinterpretation (e.g., 05/06/2023 = May 6 or June 5?) Filter > Number Filters > Greater Than > 45100 — unambiguous, fast, locale-proof
Import CSV with raw serials Excel auto-converts 45365 to 3/15/2024 only if it guesses right — often fails Paste as values → apply Date format → done. No guessing, no errors.

Exceptions

There *are* cases where the ‘myth’ holds up—and pretending dates are just numbers backfires:

  • Pre-1900 dates: Excel can’t store them natively. Serial -1000 = 1897-04-06, but anything before Jan 1, 1900 requires workarounds (text + custom logic or Power Query).
  • ISO 8601 timestamps with timezone offsets: 2024-03-15T14:30:00Z isn’t a serial number. Use Power Query or TEXTSPLIT + DATEVALUE + TIMEVALUE — but know you’re converting, not storing.
  • Legacy Mac Excel (1904 date system): Starts at Jan 1, 1904 = 1. If you open a file created on old Mac Excel, serials will be ~1,462 lower. Check File → Options → Advanced → ‘Use 1904 date system’.

So yes—Excel stores dates as numbers. Always has. Always will. But knowing that changes everything: from debugging a broken VLOOKUP on date columns, to writing bulletproof dashboards, to explaining to your intern why =A1="3/15/2024" returns FALSE even when A1 looks identical.

Next step: Open a blank workbook. In A1, type 45365. Press Ctrl + 1. Choose Category → Date → pick any format. Watch the magic—not of Excel understanding time, but of Excel revealing its quiet, consistent, numeric soul.

Rachel Torres

Rachel Torres

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