Part of the free Module 5: Excel Formulas and Functions · Function 88 of 105 · Full Excel course
The Excel TODAY function returns the current date from your computer’s clock as a date serial number, with no time component. It takes no arguments and is volatile, so it updates whenever the workbook recalculates or is opened. TODAY is the foundation of ageing reports, due-date checks, countdowns and age calculations, and it should be replaced by a static date wherever a record must not change.
Syntax
=TODAY()
Arguments
| Argument | Required / Optional | Meaning |
|---|---|---|
| (none) | – | TODAY has no arguments, but the empty parentheses are required. =TODAY without them returns #NAME?. |
How TODAY works
On 4 September 2026 the function returns 46269, the number of days since 1 January 1900; Excel applies a date format automatically. Because the value is a whole number, TODAY can be compared directly with other dates and subtracted from them to get day counts. It recalculates when the file opens, when F9 is pressed or when any cell changes, and it reads the local system clock, so a colleague in another time zone may see a different date for a few hours each day. To enter a fixed date instead, press Ctrl+; (semicolon).
Step-by-step example: overdue invoice report
- Enter invoice due dates in column B, starting at B2.
- In C2 enter
=TODAY()-B2and format the cell as General. Positive numbers are days overdue; negative numbers are days remaining. - In D2 enter
=IF(B2<TODAY(),"Overdue","Not due")and fill both columns down. - Select column B and add a conditional formatting rule with the formula
=B2<TODAY()to highlight overdue dates in red. The report updates itself every day the file is opened.
Practical use cases
1. Age in complete years
=DATEDIF(A2,TODAY(),"y")
2. Days until an event
=A2-TODAY()
3. Current month name and year for a report title
=TEXT(TODAY(),"mmmm yyyy")
4. First and last day of the current month
=EOMONTH(TODAY(),-1)+1
=EOMONTH(TODAY(),0)
5. Rolling 30-day total
=SUMIFS(Sales,Dates,">"&TODAY()-30,Dates,"<="&TODAY())
6. Expiry status with a warning window
=IF(A2<TODAY(),"Expired",IF(A2-TODAY()<=30,"Expiring soon","Valid"))
Common mistakes and tips
- Using TODAY for record dates: an “entered on” column built with TODAY changes every day. Use Ctrl+; to stamp a fixed date.
- Comparing with NOW: NOW includes the time, so
=NOW()=TODAY()is FALSE except at midnight. Compare dates with TODAY only. - Result shows a number: the cell is in General format. Apply a date format.
- Locked calculation mode: in Manual calculation mode TODAY does not update until F9 is pressed.
- Many TODAY cells: place TODAY once in a named cell such as ReportDate and reference it, which improves performance and makes the report easy to back-date for testing.
TODAY compared with NOW, static dates and DATE
TODAY returns the date only and NOW returns the date and time; both are volatile and both come from the local clock. Choose TODAY for anything measured in days and NOW for anything measured in hours or minutes. A static date typed with Ctrl+; never changes and is the right choice for transaction and entry dates. DATE(2026,9,4) is a fixed date written inside a formula, useful for hard deadlines and fiscal-year boundaries. Power Query’s DateTime.LocalNow() and Date.From() give a refresh-time date for automated imports. A common professional pattern is a single ReportDate cell that defaults to TODAY() but can be overwritten with a typed date to reproduce a past report exactly.
Related functions
- NOW: returns the current date and time.
- DATEDIF: calculates ages and tenure from TODAY.
- EOMONTH: month boundaries relative to today.
- NETWORKDAYS: working days from today to a deadline.
- See all lessons in the Excel Formulas course.
Frequently asked questions
How do I insert today’s date in Excel without it changing?
Press Ctrl+; (semicolon) to enter a static date. The TODAY function always updates to the current date.
What is the difference between TODAY and NOW?
TODAY returns the current date with no time; NOW returns the current date and time. Use TODAY for day-based comparisons.
Why does TODAY show a number like 46269?
That is the date serial number. Apply a date format to the cell to display it as a date.
Need a ready-made template? Browse 7,000+ Excel, Power BI and Google Sheets templates at NextGenTemplates.com.