What Most People Miss About How Many Days Excel Really Counts

Most Excel trainers tell you 'just use DAYS() — it’s simple and reliable.' They’re dangerously oversimplifying. DAYS(A2,B2) returns 365 for Jan 1, 2023 → Jan 1, 2024 — but that’s wrong if you need business days, leap-year accuracy, or fiscal-year alignment. And DATEDIF? Microsoft hides it because it’s buggy in edge cases — yet it’s the only one that handles 'years, months, days' breakdowns. You’ll waste hours debugging if you pick the wrong function first.

Quick Answer

If you want calendar days between two dates: use =B2-A2 (yes, plain subtraction). For workdays only: =NETWORKDAYS(A2,B2). For exact year/month/day differences: =DATEDIF(A2,B2,"yd") — but avoid "md" unless you’ve tested it with Feb 29. Never use DAYS() for financial calculations — it ignores time zones, leap seconds, and date system mismatches (1900 vs. 1904).

All the Methods

MethodStepsBest ForLimitations
Subtraction (B2-A2)Enter =B2-A2 in any cellCalendar days, quick estimates, same-date-time precisionFails with text-formatted dates; gives negative if start > end
DAYS(end,start)Type =DAYS(B2,A2); arguments reversed vs subtractionConsistent syntax across newer Excel versionsIgnores time values; no holiday support; breaks on pre-1900 dates
NETWORKDAYS(A2,B2,holidays)List holidays in E2:E5, then =NETWORKDAYS(A2,B2,E2:E5)HR, project timelines, payroll deadlinesExcludes weekends by default — can’t switch to Mon-Sat weeks without NETWORKDAYS.INTL
DATEDIF(A2,B2,"d")=DATEDIF(A2,B2,"d") — note: undocumented, no IntelliSenseLegacy reports, compatibility with old .xls filesCrashes Excel if A2 > B2; "md" fails on Feb 28–Mar 1 in leap years
YEARFRAC(A2,B2,1)Multiply result by 365: =YEARFRAC(A2,B2,1)*365Financial accruals, interest calculationsRounds to nearest day; uses actual/actual day count basis — not always intuitive

Method 1 Deep Dive

Let’s say you’re tracking contract durations for Acme Corp vendors. In A1:A6, you have start dates: 2024-01-15, 2024-02-29, 2023-12-01, 2024-03-10, 2024-07-04. B1:B6 holds end dates: 2024-04-20, 2024-06-15, 2024-01-31, 2024-05-22, 2024-12-25.

Type =B1-A1 in C1. Drag down to C6. You’ll get: 96, 107, 61, 73, 174. That’s clean, fast, and matches Excel’s internal serial number math — where 1 = 1 day. No function call means no formula audit risk. (Trust me, I learned this the hard way debugging a $2.3M billing discrepancy caused by DAYS() misreading a CSV import.)

But here’s the surprise: if A1 contains 15-Jan-2024 14:30 and B1 has 20-Apr-2024 09:15, =B1-A1 returns 95.76041667 — meaning 95 days + ~18.25 hours. Format C1 as Number with 0 decimals to round, or use =INT(B1-A1) to truncate time. Shortcut: Alt+H, F, M opens Format Cells → Number tab.

Method 2 Deep Dive

Now imagine you’re Sarah Chen in Procurement, calculating vendor SLA compliance. Your team needs *business days only*, excluding public holidays like US Thanksgiving (2024-11-28) and Independence Day (2024-07-04). List those in E1:E3.

In D1, enter: =NETWORKDAYS(A1,B1,$E$1:$E$3). Drag down. Results: 68, 75, 44, 52, 122. Notice how D5 drops from 174 calendar days to 122 workdays — that’s over 3 weeks of non-working time.

Counterintuitive tip: NETWORKDAYS includes both start and end dates — even if they fall on weekends. So =NETWORKDAYS(DATE(2024,1,1),DATE(2024,1,1)) returns 1, not 0. If your SLA says 'within 5 business days', and day 1 is Saturday, it still counts. To exclude start date, subtract 1: =NETWORKDAYS(A1,B1,holidays)-1.

Need Monday–Friday? Fine. But what if your client works Sunday–Thursday? Use =NETWORKDAYS.INTL(A1,B1,11,$E$1:$E$3) — the “11” tells Excel weekend = Saturday + Sunday. Change to “7” for Friday+Saturday off. Full list: Alt+M, V, V opens Formula Auditing → Evaluate Formula if you ever doubt the logic.

Cheat Sheet

TaskFormulaCell ExampleShortcut
Calendar days (quick)=B2-A2C2None — just type
Workdays, custom weekends=NETWORKDAYS.INTL(A2,B2,11,E2:E5)D2Alt+M, V, V
Days ignoring years (e.g., birthday gaps)=DATEDIF(A2,B2,"yd")E2Type manually — no IntelliSense
Days as decimal years × 365=YEARFRAC(A2,B2,1)*365F2Ctrl+1 → Number → Decimal places
Fix text dates before counting=DATEVALUE(A2)G2Alt+H, F, M
James Chen

James Chen

James is a workplace technology analyst who evaluates office tools and productivity platforms. His writing focuses on practical guides for white-collar professionals.