TODAY function

TODAY returns the current date as a date value, automatically updating each time the spreadsheet opens or recalculates.

=TODAY()

Generate a TODAY formula

Describe what you need. The generator will reach for TODAY where TODAY is the right tool, and tell you when it is not.

How to get a better answer
  • Name your columns by letter and by header: "column F (Net Value)" beats "the amount column".
  • State every condition, including the negatives — "not cancelled" changes the formula's shape.
  • Say where the data starts if it is not row 1, and whether it will grow.
  • Check the settings above match your spreadsheet: the wrong argument separator is a syntax error on your machine.

Arguments

ArgumentRequiredDescription

Returns

A date value representing today's calendar date.

Availability

Excel: All · Google Sheets: Supported

Worked examples

1. Calculate how many days a campaign has been active

CampaignChannelSpendClicksConversionsDate Added
Q4 Black FridayEmail25001200452024-09-01
Summer RefreshDisplay1500800282026-09-16
Spring PromoPaid Search1800950322024-03-20
Holiday CampaignSocial Media42001500522024-10-01
=TODAY()-F2

Result: 747 (for Q4 Black Friday: 2026-09-16 minus 2024-09-01)

TODAY() returns the current date (2026-09-16 as a serial number). Subtracting the Date Added serial gives the campaign's age in days. This helps you measure campaign longevity and identify which campaigns are stable performers versus newer initiatives requiring more monitoring.

2. Identify campaigns that launched today

CampaignChannelSpendClicksConversionsDate Added
Q4 Black FridayEmail25001200452024-09-01
Summer RefreshDisplay1500800282026-09-16
Spring PromoPaid Search1800950322024-03-20
Holiday CampaignSocial Media42001500522024-10-01
=IF(TODAY()=F2,"New Launch","--")

Result: "--" (Q4 Black Friday), "New Launch" (Summer Refresh), "--" (Spring Promo), "--" (Holiday Campaign)

The formula compares TODAY() to each Date Added value. Summer Refresh has Date Added = 2026-09-16, which matches TODAY(), so it returns "New Launch". This pattern highlights campaigns that just launched, useful for daily dashboards that track new initiatives and prioritize launch-day support.

3. Flag mature campaigns due for performance review

CampaignChannelSpendClicksConversionsDate Added
Q4 Black FridayEmail25001200452024-09-01
Summer RefreshDisplay1500800282026-09-16
Spring PromoPaid Search1800950322024-03-20
Holiday CampaignSocial Media42001500522024-10-01
=IF(TODAY()-F2>180,"Review Now","Monitor")

Result: "Review Now" (Q4 Black Friday: 747 days > 180), "Monitor" (Summer Refresh: 0 days < 180), "Review Now" (Spring Promo: 910 days > 180), "Review Now" (Holiday Campaign: 715 days > 180)

This formula uses TODAY() to categorize campaigns by age. Any campaign older than 6 months (180 days) triggers a "Review Now" flag; younger campaigns show "Monitor". This enables lifecycle reporting where mature campaigns are prioritized for optimization or retirement decisions.

Common errors

Which TODAY error are you seeing?
TODAY returned an error#VALUE!
Ensure both operands are compatible types: use =TODAY()+5 for numeric arithmetic, or wrap TODAY() with TEXT(): =TEXT(TODAY(),"YYYY-MM-DD") before string operations like CONCATENATE.
#NUM!
Validate year arithmetic: use =YEAR(TODAY())+10 instead of +10000. Or wrap date operations in IFERROR to catch overflow: =IFERROR(DATE(...),0).
#N/A
Ensure the lookup column contains dates in the same format as TODAY() (both serial or both text). Convert before lookup: =VLOOKUP(TEXT(TODAY(),"YYYY-MM-DD"),range,2,0) or format the lookup range as dates.
ErrorWhy it happensHow to fix it
#VALUE!TODAY() returns a date, but you're using it in arithmetic with text or in a function that rejects dates. For example, =TODAY()+"5" mixes a date with a text string, or =FIND(TODAY(),"text") passes a date to a text-only function.Ensure both operands are compatible types: use =TODAY()+5 for numeric arithmetic, or wrap TODAY() with TEXT(): =TEXT(TODAY(),"YYYY-MM-DD") before string operations like CONCATENATE.
#NUM!TODAY() is used in a date calculation that produces a result outside Excel's valid date range (1900 to 9999). For example, =DATE(YEAR(TODAY())+10000,1,1) tries to create a year that doesn't exist in the date system.Validate year arithmetic: use =YEAR(TODAY())+10 instead of +10000. Or wrap date operations in IFERROR to catch overflow: =IFERROR(DATE(...),0).
#N/ATODAY() is used with VLOOKUP or XLOOKUP to find today's date in a table, but the date doesn't exist in the lookup column, or the format mismatches (e.g., TODAY() is a date serial but the table stores dates as text like "2026-09-16").Ensure the lookup column contains dates in the same format as TODAY() (both serial or both text). Convert before lookup: =VLOOKUP(TEXT(TODAY(),"YYYY-MM-DD"),range,2,0) or format the lookup range as dates.

Tips and when to use something else

  • TODAY() updates automatically when you open or recalculate the file, so any formula using it changes daily. If you need a fixed snapshot, copy the results and paste as values only.
  • TODAY() shows today's date only; for current time down to the second (hours, minutes, seconds), use NOW() instead.
  • TODAY() stores dates as serial numbers internally. If a cell shows "45964" instead of "Sep 16, 2026", the cell format is set to Number—right-click, Format Cells, and choose Date.
  • When combining TODAY() with lookup functions (VLOOKUP, XLOOKUP), double-check that both sides use the same date format; text-versus-serial mismatches are the leading cause of #N/A errors.

Frequently asked questions

Will my formulas using TODAY() give different results tomorrow?
Yes. TODAY() always returns your computer's current date. When you open the file tomorrow, TODAY() will return tomorrow's date, and any formulas referencing it will recalculate. If you need a date that never changes, use =DATE(2024,9,1) or manually enter the date instead of TODAY().
How do I measure elapsed time in hours or minutes using TODAY()?
TODAY() only tracks days, not time. Use NOW() instead: =NOW()-start_timestamp returns fractional days (e.g., 1.5 = 1 day 12 hours). To display hours, use =HOUR(NOW()-start_timestamp) or multiply by 24: =(NOW()-start_timestamp)*24 for total hours elapsed.
Can I use TODAY() in a VLOOKUP to find today's sales record in a table?
Yes, but the date column must match TODAY()'s format. If TODAY() returns a date serial and your table stores dates as text ("2026-09-16"), VLOOKUP returns #N/A. Fix this by converting: =VLOOKUP(TEXT(TODAY(),"YYYY-MM-DD"),table,2,0), or ensure both the table and TODAY() use the same format (both date values or both text).
Why does TODAY() show a number like 45964 instead of Sep 16, 2026?
The cell is formatted as Number instead of Date. TODAY() internally stores dates as serial numbers (days since Jan 1, 1900). To fix it, right-click the cell, select Format Cells, and choose Date from the Category list. Or use =TEXT(TODAY(),"MMM d, yyyy") to display it as formatted text in any cell.

Need a different formula?

The full generator is not scoped to one function — describe any spreadsheet problem and it will pick.

Open the formula generator

Reviewed 2026-09-17