Excel Practice Test

โ–ถ

The Excel TODAY function returns the current date as a serial number with =TODAY(), which takes no arguments and updates whenever the workbook recalculates. Use it for ages, deadlines and countdowns, and press Ctrl+; instead when you need a date that never changes.

What TODAY does. Per Microsoft, TODAY returns the serial number of the current date and, if the cell was formatted General, Excel switches it to Date format. It updates when the workbook recalculates, so opening it tomorrow shows tomorrow's date. The syntax has no arguments.

Common uses. Calculate age (today - birthdate). Track days since an event. Build dynamic 'as of' headers. Check overdue items. Calculate elapsed days in projects. Generate report dates that update automatically. Conditional formatting based on date comparison.

Why TODAY matters. Eliminates manual date updates in spreadsheets. Makes reports dynamic. Enables automated age and elapsed-time calculations. Works seamlessly with date arithmetic.

How TODAY differs from NOW. TODAY returns just the date (12:00 AM). NOW returns date AND time. For most reporting, TODAY is what you want. For time-sensitive calculations (logging exact moments), NOW.

Volatile function warning. TODAY is volatile: it recalculates every time the workbook recalculates, not just when its source data changes. It is not a live clock, though. In Manual calculation mode the value stays put until you press F9 or recalculate. For most spreadsheets the cost is negligible; very large workbooks with many TODAY-dependent formulas can recalculate more slowly.

This guide covers TODAY syntax, examples, integration with other functions, common mistakes, and alternatives.

Quick Facts
  • Syntax: =TODAY() โ€” no arguments
  • Returns: Current date (Excel serial number, formatted as date)
  • Auto-updates: On open and on each recalculation (not in Manual mode until F9)
  • Volatile: Yes โ€” can affect performance in large workbooks
  • Format: Excel date (mm/dd/yyyy default, customizable)
  • Date system: Serial numbers; 1 = January 1, 1900 in the default 1900 date system
  • Compatible with: Date arithmetic, DATEDIF, YEARFRAC, NETWORKDAYS
  • Related: NOW() returns date+time, DATE() builds specific date
  • Static alternative: Ctrl+; inserts today as static date
  • Common use: Age calculation, elapsed time, dynamic reports
Try a Free Excel Practice Test

Basic usage of TODAY. One of the simplest functions in Excel.

Single cell. Type =TODAY() in any cell. Press Enter. The cell shows today's date.

Format options. Right-click cell โ†’ Format Cells โ†’ Date. Choose format: 3/14/2025, March 14, 2025, 14-Mar-2025, etc. The format changes only the display; the underlying value is the serial number.

Date in header. Use TODAY in a report header: ="Report as of "&TEXT(TODAY(),"mmm d, yyyy"). Displays: "Report as of Oct 3, 2026" on that date. Updates automatically when file opens.

Days until event. =target_date - TODAY(). Returns number of days from today to event. Format as number.

Days since event. =TODAY() - start_date. Returns positive number of days passed.

Tomorrow's date. =TODAY()+1.

Day of week. =WEEKDAY(TODAY()). Returns number 1-7 (Sunday=1 by default). Customize with second argument.

Month name. =TEXT(TODAY(),"mmmm"). Returns "March" in March. Useful in dynamic reports.

Today's year. =YEAR(TODAY()). Returns current year as number (2025, 2026...).

Day number. =DAY(TODAY()). Returns day of month (1-31).

End of current month. =EOMONTH(TODAY(),0). Returns last day of current month.

First of current month. =DATE(YEAR(TODAY()),MONTH(TODAY()),1). Returns first day of current month.

Basic Examples

๐Ÿ”ด Current Date

=TODAY() โ€” returns today's date.

๐ŸŸ  Days Until

=target_date - TODAY() โ€” days remaining.

๐ŸŸก Days Since

=TODAY() - start_date โ€” days elapsed.

๐ŸŸข Tomorrow

=TODAY()+1 โ€” tomorrow's date.

๐Ÿ”ต Year

=YEAR(TODAY()) โ€” current year as number.

๐ŸŸฃ End of Month

=EOMONTH(TODAY(),0) โ€” last day of current month.

TODAY Formulas and What They Return

Results below assume today is Saturday, October 3, 2026 (serial number 46298 in the default 1900 date system). Your results change with the date.

FormulaWhat it doesResult on Oct 3, 2026
=TODAY()Current date10/3/2026 (serial 46298)
=TODAY()+3030 days from today11/2/2026
=TODAY()-77 days ago9/26/2026
=DATE(2026,12,31)-TODAY()Days until Dec 31 (format cell as General)89
=DATEVALUE("1/1/2030")-TODAY()Days until Jan 1, 2030 (format as General)1186
=DATEDIF(DATE(1990,5,14),TODAY(),"y")Complete years since May 14, 199036
=EOMONTH(TODAY(),0)Last day of the current month10/31/2026
=DATE(YEAR(TODAY()),MONTH(TODAY()),1)First day of the current month10/1/2026
=EDATE(TODAY(),3)Same day three months later1/3/2027
=WEEKDAY(TODAY())Day of week (Sunday = 1)7 (Saturday)
=ISOWEEKNUM(TODAY())ISO 8601 week number40
=NETWORKDAYS(TODAY(),DATE(2026,10,30))Weekdays from today through Oct 30, inclusive20
=TEXT(TODAY(),"yyyy-mm-dd")Today as sortable text2026-10-03

TODAY, NOW and Static Dates Compared

MethodReturnsUpdates?
=TODAY()Current date (whole-number serial)Yes, on open and each recalculation
=NOW()Current date and time (decimal serial; 0.5 = noon)Yes, on open and each recalculation
=INT(NOW())Same date as TODAY()Yes
Ctrl+;Current date as a fixed valueNo
Ctrl+Shift+;Current time as a fixed valueNo

Excel Date Systems

Date systemSerial 1 isJuly 5, 2011 is serialDefault in
1900January 1, 190040729Excel for Windows, Excel 2016 for Mac, Excel for Mac 2011
1904January 1, 1904 (serial 0)39267Earlier versions of Excel for Mac

The two systems differ by 1,462 days, so copying dates between workbooks with different systems can shift them by about four years unless Excel converts them.

Calculating age with TODAY. Common use case.

Basic age formula. =DATEDIF(birthdate, TODAY(), "y"). Returns the number of complete years. DATEDIF is documented by Microsoft but does not appear in the formula autocomplete list. Example: birthdate in A2, formula in B2: =DATEDIF(A2, TODAY(), "y").

DATEDIF arguments. First argument: start date (older). Second: end date (newer). Third: unit. 'y' = years. 'm' = months. 'd' = days. 'ym' = months ignoring years. 'md' = days ignoring years and months (Microsoft advises against it: it can return a negative number, zero or an inaccurate result). 'yd' = days ignoring years.

Full age with years, months, days. Use multiple DATEDIF calls. =DATEDIF(A2,TODAY(),"y")&" years, "&DATEDIF(A2,TODAY(),"ym")&" months, "&(TODAY()-EDATE(A2,DATEDIF(A2,TODAY(),"m")))&" days". With a birthdate of May 14, 1990, on October 3, 2026 it returns "36 years, 4 months, 19 days". The last term avoids the "md" unit, which Microsoft does not recommend because of known limitations

Age in months only. =DATEDIF(A2, TODAY(), "m"). Returns total months between dates.

Age in days. =TODAY()-A2. Returns total days elapsed. Format as number.

Age with decimals. =(TODAY()-A2)/365.25. Returns years as a decimal such as 36.4. The 365.25 approximates leap years.

Years of service. Same approach for employee tenure: =DATEDIF(hire_date, TODAY(), "y").

Age in years and months as decimal. =DATEDIF(A2,TODAY(),"y")+DATEDIF(A2,TODAY(),"ym")/12. Returns 34.42 for 34 years 5 months (5/12 = 0.4167).

Reverse: birthdate from age. =DATE(YEAR(TODAY())-age, MONTH(TODAY()), DAY(TODAY())). Returns approximate birthdate.

Common age calculation mistakes. Swapping the arguments: if the start date is later than the end date, DATEDIF returns #NUM!. Forgetting that DATEDIF returns only complete years (it never rounds up). Using YEAR(TODAY())-YEAR(birthdate) โ€” doesn't account for whether birthday has passed yet this year (incorrect by 1 if birthday is later this year).

Age Calculations

๐Ÿ“‹ Whole Years

=DATEDIF(birthdate, TODAY(), "y"). Returns whole years. The most common age calculation. Birthday hasn't passed this year? Returns previous year's age (correct behavior).

๐Ÿ“‹ Years + Months

=DATEDIF(A2,TODAY(),"y")&" years, "&DATEDIF(A2,TODAY(),"ym")&" months". Returns text like "36 years, 4 months" for a May 14, 1990 birthdate on October 3, 2026. Better for detailed age display.

๐Ÿ“‹ Total Days

=TODAY()-A2. Returns total days. Useful for life-day counting, project elapsed days, anniversary tracking.

๐Ÿ“‹ Decimal Years

=(TODAY()-A2)/365.25. Returns a decimal such as 36.4. Useful when fractional age matters, but 365.25 is only an approximation of the year length.

๐Ÿ“‹ Months Only

=DATEDIF(A2, TODAY(), "m"). Returns total months between dates. Useful for infant ages, short tenure and subscription lengths.

๐Ÿ“‹ Age as 'X years Y months'

For more readable display. Use concatenation: =DATEDIF(A2,TODAY(),"y")&"y "&DATEDIF(A2,TODAY(),"ym")&"m". Returns "36y 4m" in the example above.

Practice Excel Skills

Tracking elapsed time with TODAY. Project timelines, overdue items, response times.

Days since project start. =TODAY()-project_start_date. Format as number. Add to project dashboard.

Days until deadline. =deadline_date-TODAY(). Positive = future, negative = past due, 0 = today.

Highlight overdue items. Use conditional formatting. Select the dates column. Home โ†’ Conditional Formatting โ†’ New Rule โ†’ Use formula. Formula: =A2<TODAY()-7. Highlights items older than 7 days. Apply red fill or warning color.

Color-coded status. Multiple conditional formatting rules: =A2<TODAY()-30 (red, very overdue), =A2<TODAY()-7 (yellow, overdue), =A2<=TODAY() (green, due now/today).

Business days since event. Use NETWORKDAYS instead of subtraction. =NETWORKDAYS(start_date, TODAY()). Excludes weekends. Excludes holidays if you provide a holiday list.

Weeks since event. =(TODAY()-start_date)/7. Returns decimal weeks.

Calendar quarter. =CEILING.MATH(MONTH(TODAY()),3)/3. Returns 1-4 (Q1, Q2, Q3, Q4).

Days remaining in current month. =EOMONTH(TODAY(),0)-TODAY(). Returns days until end of current month.

Days remaining in current year. =DATE(YEAR(TODAY()),12,31)-TODAY(). Returns days until December 31.

Workday calculation excluding holidays. =NETWORKDAYS(start_date, TODAY(), holidays_range). Where holidays_range is a list of holiday dates.

Days in Common Periods

7
Days in a week
30.4
Days in an average month (365.25 / 12)
91.3
Days in an average quarter
365.25
Days in an average year (incl. leap years)
260-262
Weekdays in a calendar year
104-106
Weekend days in a calendar year

Dynamic reporting with TODAY. Make reports update themselves.

Report header that updates. ="Sales Report - "&TEXT(TODAY(), "mmmm d, yyyy"). Displays "Sales Report - October 3, 2026" on that date and updates whenever the file recalculates.

Current month name. =TEXT(TODAY(),"mmmm"). Returns "March", "April" and so on.

Days in current month. =DAY(EOMONTH(TODAY(),0)). Returns 28-31.

Current calendar week. =WEEKNUM(TODAY()). Returns 1-54. The week starts on Sunday by default; use the second argument to change it.

ISO week. =ISOWEEKNUM(TODAY()). Returns ISO 8601 week (starts Monday).

Quarter label. ="Q"&CEILING.MATH(MONTH(TODAY()),3)/3&" "&YEAR(TODAY()). Returns "Q4 2026" in October 2026.

Dynamic month-to-date data. Use SUMIFS with date range. =SUMIFS(amount_column, date_column, ">="&DATE(YEAR(TODAY()),MONTH(TODAY()),1), date_column, "<="&TODAY()).

Year-to-date data. =SUMIFS(amount, date, ">="&DATE(YEAR(TODAY()),1,1), date, "<="&TODAY()).

Same period last year (comparison). =SUMIFS(amount, date, ">="&DATE(YEAR(TODAY())-1,MONTH(TODAY()),1), date, "<="&EDATE(TODAY(),-12)).

Rolling 30 days. =SUMIFS(amount, date, ">="&TODAY()-30, date, "<="&TODAY()).

Aging analysis. Categorize items by age: =IF(TODAY()-invoice_date>90,"90+ days",IF(TODAY()-invoice_date>60,"60-90 days",IF(TODAY()-invoice_date>30,"30-60 days","Under 30 days"))).

Dynamic Reports

๐Ÿ”ด Self-Updating Headers

="Report as of "&TEXT(TODAY(),"mmm d, yyyy").

๐ŸŸ  Month-to-Date

SUMIFS with date filters using TODAY for current period.

๐ŸŸก Year-over-Year

Compare current YTD to same period last year using EDATE.

๐ŸŸข Rolling Periods

Last 30/60/90 days: date >= TODAY()-N to TODAY().

๐Ÿ”ต Aging Buckets

Categorize by days old: under 30, 30-60, 60-90, 90+.

๐ŸŸฃ Conditional Format

Highlight overdue, due soon, due today with rule-based color.

Free Excel Practice Test

Common TODAY mistakes and solutions.

Mistake 1: Forgetting parentheses. Typing =TODAY without parentheses returns #NAME?, because Excel reads it as an undefined name. Always type =TODAY() with empty parentheses.

Mistake 2: Static vs dynamic confusion. =TODAY() updates each time the workbook recalculates. If you want static today's date, use Ctrl+; (semicolon) keyboard shortcut. Inserts today's date as a value, not formula.

Mistake 3: Wrong date format. The cell shows a number such as 46298 (October 3, 2026) instead of a date. Cause: number format. Solution: Right-click cell โ†’ Format Cells โ†’ Date โ†’ choose format.

Mistake 4: TODAY returning yesterday. Cause: the computer's date, time zone or clock is wrong, or the workbook has not recalculated (Manual mode). Excel takes TODAY from the system clock.

Mistake 5: Comparing dates incorrectly. =TODAY()=A2 returns FALSE even when both show same date. Cause: A2 contains a time component, for example from NOW() or an imported timestamp. Solution: compare date-only cells, or strip the time with INT(A2)=TODAY().

Mistake 6: Date arithmetic with text. If birthdate is stored as text ('5/14/1990'), DATEDIF won't work. Convert to date first: =DATEVALUE(text_cell) or reformat the cell.

Mistake 7: Volatile performance. TODAY recalculates with the workbook, so in very large workbooks it can add recalculation work. Solution: keep one TODAY() cell and point formulas at it, and use static dates where live values are not needed.

Mistake 8: Future date assumptions. =TODAY()+30 gives a date 30 days in future. Works for most cases, but be careful with month-end calculations (use EDATE for 'one month from today').

Mistake 9: Wrong year separator. International date formats (DD/MM/YYYY vs MM/DD/YYYY) cause confusion when sharing files. TODAY itself doesn't matter; display formatting does.

Mistake 10: Expecting a live clock. TODAY changes only when the workbook calculates (on open, on edits, or F9). It does not tick at midnight while a file sits open.

TODAY vs other date functions. Choosing the right one.

TODAY vs NOW. TODAY returns the date only. NOW returns the date plus the time (the decimal part of the serial number, where 0.5 is 12:00 noon). Use TODAY for daily reporting, age calculations, days-elapsed. Use NOW for time tracking, log timestamps, time-of-day calculations.

TODAY vs DATE. TODAY: returns current date. DATE: builds a specific date from year, month, day. Use TODAY when you want current date. Use DATE to build specific dates from components.

TODAY vs DATEVALUE. TODAY: today's date. DATEVALUE: converts text date to serial number. Use TODAY for current date. Use DATEVALUE to convert text dates to real dates.

TODAY vs INT(NOW). =INT(NOW()) returns same value as TODAY() (date stripped of time). Both work. TODAY is cleaner.

TODAY vs Ctrl+;. TODAY is a formula that updates. Ctrl+; enters the current date as a fixed value (Ctrl+Shift+; does the same for the time). Use TODAY for dynamic dates and Ctrl+; for static ones.

WEEKDAY function. Returns day of week (1-7). =WEEKDAY(TODAY()) gives today's day number. Useful in conditional logic.

NETWORKDAYS. Counts working days between two dates excluding weekends. =NETWORKDAYS(TODAY()-30, TODAY()). Useful for business day calculations.

EOMONTH. End of month: =EOMONTH(TODAY(),0). End of current month. Use offsets (positive or negative) for future/past months.

EDATE. Date X months from another date: =EDATE(TODAY(),3). Three months from today.

YEAR, MONTH, DAY. Extract components: =YEAR(TODAY()), =MONTH(TODAY()), =DAY(TODAY()).

DATEDIF. Difference between two dates with various units. Most commonly used with TODAY: =DATEDIF(birthdate,TODAY(),"y") for age. Microsoft documents DATEDIF but advises against its "MD" unit.

Date Function Family

๐Ÿ“‹ TODAY

=TODAY(). Current date only. Updates each workbook recalculation. Most common use: dynamic date displays, age calculations, elapsed time. No arguments.

๐Ÿ“‹ NOW

=NOW(). Current date AND time. Updates each workbook recalculation. Use for time-stamping, time-of-day logic, time arithmetic. Volatile like TODAY.

๐Ÿ“‹ DATE

=DATE(year, month, day). Builds a date from components. Not current date. Use to construct specific dates: =DATE(2025,12,25) for Christmas 2025.

๐Ÿ“‹ DATEDIF

=DATEDIF(start, end, unit). Difference between dates in years, months, or days. Most commonly used with TODAY: =DATEDIF(birthdate, TODAY(), "y"). Documented by Microsoft but not shown in formula autocomplete; avoid the "MD" unit.

๐Ÿ“‹ EOMONTH

=EOMONTH(date, months). Last day of month X months from given date. Negative for past months. =EOMONTH(TODAY(),0) for current month end. Useful for billing cycles, period-end reporting.

๐Ÿ“‹ EDATE

=EDATE(date, months). Same day X months later/earlier. =EDATE(TODAY(),12) for one year from today. Useful for anniversary, renewal, due dates.

Real-world applications. Where TODAY shines in business.

Project management. Days in project: =TODAY()-start_date. Days until milestone: =milestone-TODAY(). Project completion %: =(TODAY()-start)/(end-start). Days remaining: =end-TODAY(). Overdue check: =IF(TODAY()>end,"Overdue","On track").

HR and payroll. Employee tenure: =DATEDIF(hire_date,TODAY(),"y"). Anniversary date: =EDATE(hire_date, 12*years_to_add). Days until performance review: =review_date-TODAY(). Service award eligibility: =DATEDIF(hire,TODAY(),"y")>=5.

Sales pipeline. Days in current stage: =TODAY()-stage_entry_date. Days since last contact: =TODAY()-last_contact_date. Deal age: =TODAY()-deal_creation. Forecast 'as of' date: ="Forecast as of "&TEXT(TODAY(),"mmm d").

Customer service. Ticket age: =TODAY()-ticket_creation. Days since last response: =TODAY()-last_response. SLA compliance: =IF(TODAY()-creation>sla_days,"Breach","Compliant"). Escalation alerts using conditional formatting.

Financial reporting. Current period: =YEAR(TODAY())&" Q"&CEILING.MATH(MONTH(TODAY()),3)/3. Year-to-date totals using SUMIFS. Days in current month/quarter for run-rate calculations. Aging buckets for accounts receivable.

Inventory and operations. Days since last order: =TODAY()-order_date. Stale stock identification: =TODAY()-receipt_date>365. Expiry date warnings: =IF(expiry-TODAY()<30,"Expiring soon","OK").

Compliance and audit. Renewal due dates: =EDATE(last_renewal,renewal_period). Days until certification expires: =cert_expires-TODAY(). Audit cycle tracking: =DATEDIF(last_audit,TODAY(),"m")>=12.

Personal finance. Days until paycheck: =next_paycheck-TODAY(). Savings goal progress: =(TODAY()-start_date)/(end_date-start_date). Retirement countdown: =retirement_date-TODAY().

Industry Uses

๐Ÿ”ด Project Management

Days elapsed, days remaining, completion %, overdue flags.

๐ŸŸ  HR/Payroll

Tenure, anniversaries, review dates, service eligibility.

๐ŸŸก Sales Pipeline

Deal age, stage time, days since contact.

๐ŸŸข Customer Service

Ticket age, SLA compliance, escalation triggers.

๐Ÿ”ต Financial

Current period, YTD totals, aging buckets, run-rates.

๐ŸŸฃ Compliance

Renewal dates, expiration warnings, audit cycles.

Practice โ€” Free Excel Test

Advanced TODAY techniques.

Anchor TODAY in one cell. Instead of repeating =TODAY(), put it in cell A1 (named today_ref) and reference $A$1 or today_ref elsewhere. This keeps one cell to audit or override while testing; dependent formulas still recalculate.

Lock a date for historical records. Press Ctrl+; to insert a static date, or copy the TODAY cell and Paste Special > Values. Do not try =IF(A2="",TODAY(),A2) inside A2: that formula refers to its own cell, which creates a circular reference and does not freeze the date.

Use of TEXT to format. =TEXT(TODAY(),"yyyy-mm-dd"). Returns text in YYYY-MM-DD format, for example 2026-10-03. Useful for filenames, sorting, exporting to systems requiring specific formats.

Comparing date ranges. To check if today is between two dates: =AND(TODAY()>=start,TODAY()<=end). Returns TRUE/FALSE.

Conditional content based on date. =IF(MONTH(TODAY())=12,"Holiday season!",""). Returns 'Holiday season!' in December.

Calculate business days remaining. =NETWORKDAYS(TODAY(),end_date) returns business days from today to end. Useful for project deadlines.

Month progress. =DAY(TODAY())/DAY(EOMONTH(TODAY(),0)). Returns the fraction of the current month elapsed (on October 3, 2026: 3/31 = 0.097).

Days into quarter. =TODAY()-DATE(YEAR(TODAY()),CEILING.MATH(MONTH(TODAY()),3)-2,1). Returns days since start of current quarter.

Power Query and TODAY. Power Query has DateTime.LocalNow() for dynamic dates. Different from Excel's TODAY; both useful in different contexts.

VBA equivalent. Date function in VBA returns today's date. Equivalent to Excel's TODAY() in VBA code.

Power tips for TODAY mastery. Best practices from spreadsheet professionals.

Anchor TODAY in one cell. Put =TODAY() in cell A1 (or any single cell) and reference $A$1 elsewhere instead of calling =TODAY() in every formula. You get one place to audit or temporarily overwrite the date when testing; formulas that depend on it still recalculate. The principle: one TODAY call, many references.

Lock historical dates from auto-update. For "date created" or "first seen" values that must not change, enter the date with Ctrl+; or paste the TODAY result as a value. A self-referencing formula such as =IF(A2="",TODAY(),A2) in A2 is a circular reference and will not hold the date.

Format dates for filenames. =TEXT(TODAY(),"yyyy-mm-dd") returns 'YYYY-MM-DD' format like 2026-10-03. This format sorts naturally in folders and is internationally unambiguous โ€” perfect for naming exported reports, backups, or archives.

Date range checks. =AND(TODAY()>=start, TODAY()<=end) returns TRUE if today falls within the range. Useful for active campaign checks, valid coupon periods, and subscription status verification.

Business days remaining. =NETWORKDAYS(TODAY(), deadline) returns business days excluding weekends. Add holidays as third argument: =NETWORKDAYS(TODAY(), deadline, holiday_range). Critical for project planning where weekends don't count.

Month and quarter progress tracking. =DAY(TODAY())/DAY(EOMONTH(TODAY(),0)) returns the fraction of the current month elapsed (0.45 = 45% through). Useful for proportional forecasting โ€” if you're 45% through the month and at $45K of $100K target, you're on track.

Power Query equivalent. In Power Query, use DateTime.LocalNow() or Date.From(DateTime.LocalNow()) for dynamic dates in queries. Different syntax from Excel formulas but same concept โ€” useful when transforming data before bringing it into your workbook.

VBA equivalent. In macros, use the Date function (no parentheses) to get today's date. Also Now() for date+time. Useful for stamping log entries or timestamps in automation.

Sample Excel Practice Questions

Try these questions from our free Excel practice tests. The correct answer and an explanation follow each question.

  1. What does the IFERROR function do in Excel?

    • A. Counts errors in a range
    • B. Returns a custom value if a formula produces an error, otherwise returns the formula result
    • C. Highlights error cells in red
    • D. Prevents errors from being entered

    Answer: B. Returns a custom value if a formula produces an error, otherwise returns the formula result

    IFERROR evaluates a formula and returns a specified value (like blank or text) if it results in an error, instead of displaying the error code.

  2. Which Excel function returns the position of a value within a range?

    • A. FIND
    • B. MATCH
    • C. INDEX
    • D. LOOKUP

    Answer: B. MATCH

    MATCH returns the relative position of a lookup value within a range.

  3. What does the CONCATENATE function do in Excel?

    • A. Joins two or more text strings into one string
    • B. Splits a text string into separate cells
    • C. Compares two text strings for equality
    • D. Removes duplicate characters from text

    Answer: A. Joins two or more text strings into one string

    CONCATENATE joins multiple text strings into a single string. It has been largely replaced by CONCAT and TEXTJOIN in newer Excel versions.

  4. Which Excel function combines text from multiple cells into one?

    • A. JOIN
    • B. MERGE
    • C. CONCATENATE
    • D. COMBINE

    Answer: C. CONCATENATE

    CONCATENATE (or & operator / CONCAT in newer versions) joins text strings from multiple cells.

Take the full Excel practice test

Excel Questions and Answers

What does the TODAY function do in Excel?

TODAY returns the serial number of the current date, shown as a date. You type =TODAY() with empty parentheses because the function takes no arguments. If the cell was formatted General, Excel switches it to Date format automatically. It reads the date from your computer's system clock, so the result changes each day when the workbook recalculates.

Does the TODAY function update automatically?

Yes, whenever the workbook calculates: when you open it, edit a cell, or press F9. It is not a live clock, so a file left open overnight keeps yesterday's date until the next recalculation. In Manual calculation mode, TODAY stays frozen until you recalculate. Check File > Options > Formulas if the date seems stuck.

How do I enter today's date in Excel without it changing?

Press Ctrl+; (semicolon) in the cell. Excel inserts the current date as a fixed value that never updates, and Ctrl+Shift+; does the same for the current time. Alternatively, keep a TODAY() formula, copy the cell, and use Paste Special > Values to replace the formula with the date it showed at that moment.

What is the difference between TODAY and NOW in Excel?

TODAY returns only the date, a whole-number serial. NOW returns the date and the time, adding a decimal fraction where 0.5 means 12:00 noon. Both take no arguments and both recalculate only when the workbook calculates. Use TODAY for ages, deadlines and day counts, and NOW for timestamps, or wrap NOW in INT() to match TODAY.

How do I calculate age from a birthdate using TODAY?

Use =DATEDIF(A2,TODAY(),"y"), where A2 holds the birthdate. It returns complete years, so a May 14, 1990 birthdate gives 36 on October 3, 2026. Avoid YEAR(TODAY())-YEAR(A2), which overstates age until the birthday has passed. If the start date is later than the end date, DATEDIF returns #NUM!. For years and months together, add a second DATEDIF with the "ym" unit.

How do I count the days until or since a date with TODAY?

Subtract one date from the other. =DATE(2026,12,31)-TODAY() returns 89 on October 3, 2026, and =TODAY()-A2 returns days elapsed since the date in A2. Format the result cell as General or Number, because Excel may display a date-formatted result as a 1900 date. Use NETWORKDAYS instead to count only weekdays, optionally excluding a holiday list. A negative result means the date has already passed.

Why does TODAY show a number like 46298 instead of a date?

Excel stores every date as a serial number, and 46298 is October 3, 2026 in the 1900 date system. The cell is formatted as General or Number, so it shows the raw value. Select the cell, press Ctrl+1, choose Date on the Number tab, and pick a format. The stored value does not change.

What are the 1900 and 1904 date systems in Excel?

They are two starting points for serial numbers. The 1900 system counts from January 1, 1900 and is the default in Excel for Windows and current Excel for Mac. The 1904 system counts from January 1, 1904 and was the default in earlier Mac versions. July 5, 2011 is 40729 in 1900 and 39267 in 1904, so mixing them shifts dates by 1,462 days.
Free Excel Practice Test

Final thoughts. The TODAY function is one of Excel's simplest yet most powerful tools. Type =TODAY() and you've unlocked an entire dimension of dynamic spreadsheets โ€” reports that update themselves, ages that calculate automatically, deadlines that warn you when overdue, and dashboards that always reflect the current state of your business.

Master it by combining with other functions. DATEDIF for age and tenure calculations. EOMONTH for month-end logic and billing cycles. NETWORKDAYS for business days excluding weekends and holidays. EDATE for renewals and anniversaries. Combined with other date functions, TODAY covers most everyday date work in Excel.

Watch the volatile performance issue. In large workbooks, anchor TODAY in one cell and reference it elsewhere to keep the logic easy to audit. Use Ctrl+; for static dates when you don't need dynamic updating. These small optimizations matter in workbooks with heavy date calculations.

The applications are endless: project tracking, HR systems, sales dashboards, financial reports, compliance calendars, personal budgets, customer service SLAs, inventory aging, contract renewals. Every spreadsheet benefits from knowing what 'today' is and acting on that knowledge intelligently.

Build the habit. Start your reports with a TODAY-based header that updates automatically. Add an aging analysis to your accounts receivable. Calculate elapsed time on every project. Set up conditional formatting to highlight overdue items.

โ–ถ Start Quiz