Excel Date Formulas: TODAY, DATE, DATEDIF, EDATE, and More
The essential Excel date functions: get today's date, calculate days between dates, find end-of-month dates, add months, and count working days — with examples for each.
Dates in Excel are stored as numbers (January 1, 1900 = 1, today is somewhere around 46,000). That's why date math works with simple addition and subtraction, and why all the date functions are consistent and predictable once you understand the basics.
TODAY and NOW
=TODAY()Returns today's date. Updates every time the workbook recalculates. Use it for calculating age, days overdue, or anything relative to the current date.
=NOW()Returns the current date and time. Useful for timestamping but recalculates constantly — use sparingly in large files.
Days between two dates
Since dates are numbers, subtraction just works:
=B2-A2Format the result as a number (not a date) to see the count of days. Or use:
=DAYS(end_date, start_date)DATEDIF — years, months, or days between dates
DATEDIF is hidden (not in autocomplete) but fully functional. It calculates the difference in years, months, or days:
=DATEDIF(start_date, end_date, "Y")The third argument controls the unit:
| Unit | Returns |
|---|---|
"Y" | Complete years |
"M" | Complete months |
"D" | Days |
"YM" | Months ignoring years (for age display) |
"MD" | Days ignoring months and years |
Age calculation example — "3 years, 7 months":
=DATEDIF(A2, TODAY(), "Y")&" years, "&DATEDIF(A2, TODAY(), "YM")&" months"EDATE — add or subtract months
=EDATE(start_date, months)Adds (or subtracts, with a negative number) a number of months to a date. Useful for contract renewals, billing cycles, and subscription dates:
=EDATE(A2, 12)Returns the date exactly one year after the date in A2.
EOMONTH — last day of a month
=EOMONTH(start_date, months)Returns the last day of the month, offset by the number of months you specify. 0 = current month, 1 = next month, -1 = last month:
=EOMONTH(TODAY(), 0)Returns the last day of the current month. Common for financial reporting cutoffs.
WORKDAY — skip weekends and holidays
=WORKDAY(start_date, days, [holidays])Adds business days to a date, skipping weekends. Add a range of holiday dates as the third argument to skip those too:
=WORKDAY(A2, 5)Returns the date 5 business days after A2.
=NETWORKDAYS(start_date, end_date, [holidays])Counts the number of working days between two dates.
✦ TIP
Always format date formula results as dates, not numbers. Select the cell → Ctrl+1 → Date format. If you see a large number like 46102, the cell is formatted as a number.
The Griddy way
Date logic gets complex fast — fiscal year vs. calendar year, quarter boundaries, SLA calculations, anniversary dates. Describe what you need:
"Calculate how many business days each ticket has been open, excluding weekends and the holidays listed in the Holidays tab"
Griddy writes the NETWORKDAYS formula with your holiday range reference included.
Skip the manual work
Describe it. Griddy does it.
Instead of writing this formula yourself, just tell Griddy what you need in plain English. Works in Excel and Google Sheets.