WORK WITH DATES TODAY Function in Excel and Goo… Return the current date, recalculating automatically each time the… Excel 2003+ Google Sheets Same syntax Microsoft Excel C2 =TODAY() A B C Project Start Date Days Running 2 Website Redesign 2024-01-15 88 3 CRM Migration 2024-03-01 44 4 Security Audit 2024-02-10 63
Learning Hub Functions Work with Dates

TODAY Function in Excel and Google Sheets

Work with Dates 📊 Excel 2003+ ✓ Google Sheets Same syntax in both apps
Purpose
Return the current date, recalculating automatically each time the spreadsheet opens
Return value
The current date as a date value, updating every time the workbook recalculates
TODAY is the function that makes formulas come alive on their own. It looks almost too simple to bother with — it takes no arguments and just returns the current date. But the moment you start using it inside other formulas, you realise how much it unlocks. Any formula that compares a date to today becomes a live, self-updating calculation that never needs manual maintenance. Invoice due dates that flag themselves as overdue the moment they pass without anyone checking. Age calculations that update automatically on each person's birthday. Countdown timers that tick down every time the file opens. Project dashboards that always show the correct number of days since each task started. Reports that show how many items in a list are past their expiry date. All of this and more runs on TODAY. It is one of the most practical functions in the entire library and one of the first date functions worth learning.
Syntax
✓ Excel 2003+ ✓ Google Sheets = Same syntax
=TODAY()
TODAY takes no arguments. The empty parentheses are required.
Arguments
ArgumentRequiredDescription
(none) Optional TODAY takes no arguments. Write =TODAY() with empty parentheses. It automatically returns the current date every time the spreadsheet recalculates.
How it works
Type =TODAY() in any cell and it immediately shows today's date. If it shows a serial number instead of a recognisable date, the cell is formatted as General or Number — select the cell and apply a Date format to fix the display. TODAY is genuinely most useful when combined with other formulas rather than used on its own. Subtract a past date from TODAY to count elapsed days — the result must be formatted as Number not Date to show a day count. Add a number to TODAY to get a future date — TODAY()+30 is exactly 30 days from today. Compare a date column to TODAY using IF to create live status labels that update without intervention. Use TODAY as the end_date in DATEDIF to calculate ages and tenures that update automatically. Use COUNTIF with TODAY as part of the criteria to count past-due or upcoming items dynamically. One important limitation: TODAY recalculates when the file is opened, not in real time while the file is already open. If you need real-time updating within a session, use NOW() instead, which includes the current time and recalculates on every workbook calculation.
Examples
1
Calculate how many days each project has been running from its start date to today.
fx =TODAY()-B2
A B C
1 Project Start Date Days Running
2 Website Redesign 2024-01-15 =TODAY()-B2
3 CRM Migration 2024-03-01 44
4 Security Audit 2024-02-10 63
5 Staff Training 2024-04-05 8
6 Budget Review 2024-01-08 96
Row 2: 88 — Website Redesign started 15 Jan 2024. TODAY() minus that date gives the number of elapsed days.
If the result shows a date instead of a number, select the cell and change the format to General or Number. The result updates automatically every day the file is opened.
2
Flag each invoice as Overdue or Outstanding based on whether the due date has passed.
fx =IF(C2<TODAY(),"Overdue","Outstanding")
A B C D
1 Invoice Amount Due Date Status
2 INV-001 1200 2024-01-15 =IF(C2<TODAY(),"Overdue","Outstanding")
3 INV-002 850 2026-06-30 Outstanding
4 INV-003 2100 2024-02-28 Overdue
5 INV-004 450 2026-12-15 Outstanding
6 INV-005 3200 2024-03-10 Overdue
Row 2: Overdue — INV-001 due date is in the past so C2<TODAY() is TRUE and Overdue is returned.
The formula rechecks every time the file opens. An invoice that was Outstanding yesterday automatically becomes Overdue today if its due date passed overnight.
3
Calculate each person's age in complete years from their date of birth.
fx =DATEDIF(B2,TODAY(),"Y")
A B C
1 Name Date of Birth Age
2 Alice Chen 1990-03-15 =DATEDIF(B2,TODAY(),"Y")
3 Bob Smith 1985-07-22 38
4 Carol Jones 2000-11-08 23
5 David Kim 1978-01-30 46
6 Eve Taylor 1995-04-12 28
Row 2: 34 — Alice was born 15 March 1990. DATEDIF with "Y" counts complete years to today.
The age updates automatically on each person's birthday when the file opens. The "Y" unit ensures only complete years count — partial years do not round up.
Common use cases
1. Calculate the number of days remaining until a project deadline or event date
=A2-TODAY()
2. Determine years of service for each employee by calculating complete years from hire date to today
=DATEDIF(B2,TODAY(),"Y")
3. Count how many invoices in a due date column have already passed today and are overdue
=COUNTIF(C:C,"<"&TODAY())
4. Use conditional formatting to highlight contract expiry dates falling within the next 30 days
=AND(C2>TODAY(),C2<=TODAY()+30)
5. Calculate the date 90 days from today for scheduling follow-up reminders and review deadlines
=TODAY()+90
Common errors
Cell shows a large number instead of a readable date
The result cell is formatted as General or Number so it displays the underlying date serial number rather than a formatted date. This is a display issue only — the value is correct.
Fix: Select the result cell, press Ctrl+1, choose the Date category in the Format Cells dialog, and select your preferred date format. The number will immediately display as a proper date.
Date does not update when expected
Automatic calculation may be disabled in Excel. When set to Manual, formulas including TODAY only recalculate when you press F9 or save the file rather than opening it.
Fix: In Excel go to Formulas → Calculation Options → Automatic to re-enable automatic recalculation. In Google Sheets automatic recalculation is always enabled and cannot be turned off.
Subtraction result shows a date instead of a number of days
When you subtract one date from another including TODAY, Excel sometimes auto-formats the result cell as a Date because it detects that date values were involved in the calculation.
Fix: Select the result cell and change the format to General or Number. The underlying value is correct — only the display format needs adjusting.
Tips and variations
Use Ctrl+; to stamp a permanent date that never changes
TODAY() always shows the current date and updates daily. When you need to record when an entry was created — a static timestamp for auditing or record-keeping — press Ctrl+; (Windows) or Cmd+; (Mac) to insert the current date as a hard-coded fixed value that will never change regardless of when the file is opened.
Ctrl+; (Windows) / Cmd+; (Mac) — inserts static date
Add or subtract days to TODAY for future and past date calculations
Adding a whole number to TODAY gives a future date. Subtracting gives a past date. TODAY()+7 is one week from now. TODAY()-30 is thirty days ago. TODAY()+365 is approximately one year from now. This simple pattern drives deadline tracking, expiry date warnings, and subscription renewal reminders.
=TODAY()+30
Use EOMONTH with TODAY for dynamic end-of-month calculations
EOMONTH(TODAY(),0) returns the last day of the current month regardless of how many days it has. EOMONTH(TODAY(),1) returns the last day of next month. EOMONTH(TODAY(),-1) returns the last day of the previous month. Indispensable for monthly reporting cutoffs and billing cycle calculations.
=EOMONTH(TODAY(),0)
Excel vs Google Sheets
Excel vs Google Sheets
TODAY works identically in Excel and Google Sheets with the same syntax and same auto-recalculation. The only difference is time zone handling — Google Sheets uses the spreadsheet time zone setting while Excel uses the computer system time zone.
Frequently asked questions
TODAY returns the current date as a date value formatted according to your regional settings. It takes no arguments — the empty parentheses are required but contain nothing. The date recalculates automatically every time the spreadsheet is opened or any formula in the workbook recalculates. TODAY returns only the date, not the time. For a value that includes the current time as well, use NOW() instead.
Yes — TODAY recalculates every time the workbook is opened and every time any formula in the workbook triggers a recalculation. If you open the same file on Monday and again on Tuesday, any cell containing TODAY() will show Tuesday's date on the second opening. If you need a permanent, static date that records when something happened and never changes again, press Ctrl+; (Windows) or Cmd+; (Mac) to insert the current date as a fixed value instead of using TODAY().
Subtract TODAY from the future date: =A1-TODAY() where A1 contains the future event date. This gives the number of days remaining as a positive number when the date is in the future and a negative number when the date is in the past. If the result cell shows a date format instead of a number, change the cell format to General or Number. The count updates automatically every day the file is opened so the countdown always stays current.
Excel and Google Sheets store dates internally as serial numbers — the number of days since January 1, 1900. When a cell is formatted as General or Number, the date serial number displays as a plain number rather than a formatted date. To fix this, select the cell, press Ctrl+1 to open Format Cells, choose the Date category, and select your preferred date display format. The underlying value does not change — only how it is displayed.
Yes — TODAY is used constantly as a building block inside other date formulas. =DATEDIF(A1,TODAY(),"Y") calculates the exact age in complete years. =TODAY()-A1 counts days since a past event. =IF(A1<TODAY(),"Overdue","Current") flags past-due items. =COUNTIF(B:B,"<"&TODAY()) counts how many dates in a column are in the past. =TODAY()+30 gives the date exactly 30 days from now. These patterns are used in invoicing, project management, HR systems, and any spreadsheet that needs to respond dynamically to the passage of time.