# How to use the TODAY function

**What is the TODAY function?**

The TODAY function returns the Excel date (serial number) of the current date.

**What is a volatile function?**

The TODAY function is a volatile function, it updates or recalculatesÂ every time the worksheet is recalculated. This may slow down your workbook calculations considerably if there are many formulas that depend on the TODAY function.

It may also slow down your worksheet/workbook if you have many volatile functions.

**When is the worksheet calculated?**

Cells containing non volatile functions are only calculated once or until you force a recalculation, however, volatile functions are recalculated each time you type in a cell and press enter.

**Can you stop recalculating a worksheet?**

Yes, you can change a setting to manual recalculations.

- Go to tab "Formulas".
- Press with left mouse button on the "Calculation Options" button, a popup menu appears.
- Press with mouse on "Manual".

This stops the automatic recalculations.

**How to force a recalculation?**

Pressing F9 key will recalculate or refresh all the formulas and values in every worksheet of every workbook you have open.

Pressing Shift+F9 will only recalculate the formulas and values on the single worksheet you're currently viewing or active.

Pressing Ctrl+Alt+F9 is the quickest way to force a full recalculation of absolutely everything in all open workbooks, even if nothing has changed. It ignores whether changes were made or not and completely recomputes.

**Are there more volatile functions in Excel?**

Yes. OFFSET, TODAY, RAND, NOW among others.

Function | Syntax | Description |
---|---|---|

OFFSET | OFFSET(reference, rows, cols) | Returns a cell offset from a reference cell. |

NOW | NOW() | Returns the current time. |

RAND | RAND() | Returns a random decimal between 0 and 1. |

RANDARRAY | RANDARRAY([rows], [columns], [min], [max], [whole_number]) |
Returns an array with random numbers. |

RANDBETWEEN | RANDBETWEEN(bottom, top) | Returns a random whole number between bottom and top |

Note, that conditional formatting is extremely volatile or super-volatile meaning it is recalculated as you scroll through a worksheet.

**What are dates in Excel?**

Dates are stored numerically but formatted to display in human-readable date/time formats, this enables Excel to do work with dates in calculations.

For example, dates are stored as sequential serial numbers with 1 being January 1, 1900 by default. The integer part (whole number) represents the date the decimal part represents the time.

This allows dates to easily be formatted to display in many date/time formatsÂ like mm/dd/yyyy, dd/mm/yyyy and so on and still be part of calculations as long as the date is stored numerically in a cell.

You can try this yourself, type 10000 in a cell, press CTRL + 1 and change the cell's formatting to date, press with left mouse button on OK. The cell now showsÂ 5/18/1927.

## TODAY Function Syntax

TODAY()

## TODAY Function Arguments

The TODAY function has no arguments

## TODAY Function example

Formula in cell B4:

**What does the TODAY function return?**

The Excel date the TODAY function returns is a serial number that Excel recognizes and can be filtered, sorted and used in other date calculations.

Excel dates are actually serial numbers formatted as dates, 1/1/1900 is 1 and 2/2/2018 is 43133. There areÂ 43132 days betweenÂ 2/2/2018 andÂ 1/1/1900.

You can try this yourself, type 10000 in a cell, press CTRL + 1 and change the cell's formatting to date, press with left mouse button on OK. The cell now showsÂ 5/18/1927.

## Filter the upcoming dates for next week

This example demonstrates a formula that extracts records from cell range B3:C18 if the dates fall during the next seven days. The formula automatically changes the date

Excel 365 formula in cell E5:

This formula works only in Excel 365, the FILTER function may return multiple values that automatically spills to cells below.

### Explaining formula

An Excel date is a serial number that Excel recognizes and can be filtered, sorted and used in other date calculations.

Excel dates are actually serial numbers formatted as dates, 1/1/1900 is 1 and 2/2/2018 is 43133. There are 43132 days between 2/2/2018 and 1/1/1900.

You can try this yourself, type 10000 in a cell, press CTRL + 1 and change the cell's formatting to date, press with left mouse button on OK. The cell now shows 5/18/1927.

#### Step 1 - Add 7 days to today's date

The plus sign + lets you perform addition in an Excel formula.

TODAY()+7

becomes

45241+7

equals 45248 (11/18)

#### Step 2 - Check dates smaller than today plus 7 days

The less than sign. larger than sign, and the equal sign are comparison operators that let you create logical expressions. The logical expression returns the boolean value,Â TRUE or FALSE.

B3:B18<=TODAY()+7

becomes

{45249; 45244; 45234; 45245; 45245; 45251; 45241; 45241; 45252; 45247; 45241; 45251; 45252; 45253; 45240; 45240}<=45248

and returns

{TRUE; TRUE; TRUE; TRUE; TRUE; FALSE; TRUE; TRUE; FALSE; TRUE; TRUE; FALSE; FALSE; FALSE; TRUE; TRUE}

#### Step 3 - Check dates later than or equal to today

B3:B18>=TODAY()

{45249; 45244; 45234; 45245; 45245; 45251; 45241; 45241; 45252; 45247; 45241; 45251; 45252; 45253; 45240; 45240}<=45241

and returns

{TRUE; TRUE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; TRUE; TRUE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE}

#### Step 4 - Multiply boolean values to perform AND logic

The asterisk character lets you multiply numbers and boolean values in an Excel formula. The numerical equivalent to boolean value TRUE is 1 and FALSE is 0 (zero)

(B3:B18<=TODAY()+7)*(B3:B18>=TODAY())

becomes

{TRUE; TRUE; TRUE; TRUE; TRUE; FALSE; TRUE; TRUE; FALSE; TRUE; TRUE; FALSE; FALSE; FALSE; TRUE; TRUE} * {TRUE; TRUE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE; TRUE; TRUE; FALSE; TRUE; TRUE; TRUE; FALSE; FALSE}

and returns

{1;1;0;1;1;0;0;0;0;1;0;0;0;0;0;0}

#### Step 5 - Filter records

The FILTER function extracts values/rows based on a condition or criteria.

Function syntax: FILTER(array, include, [if_empty])

FILTER(B3:C18,(B3:B18<=TODAY()+7)*(B3:B18>=TODAY()))

becomes

FILTER(B3:C18,{1;1;0;1;1;0;0;0;0;1;0;0;0;0;0;0})

and returns the following array in cell E5 and spills to adjacent cells to the right and below as far as needed.

{45249, "#001"; 45244, "#007"; 45245, "#016"; 45245, "#012"; 45247, "#009"}

### 'TODAY' function examples

This article describes how to build a calendar showing all days in a chosen month with corresponding scheduled events. What's […]

Table of Contents How to use the DATE function How to use the DATEDIF function How to use the DATEVALUE […]

Table of Contents How to use the NETWORKDAYS function How to use the NETWORKDAYS.INTL function How to use the NOW […]

### Functions in 'Date and Time' category

The TODAY function function is one of 22 functions in the 'Date and Time' category.

## How to comment

How to add a formula to your comment<code>Insert your formula here.</code>

Convert less than and larger than signsUse html character entities instead of less than and larger than signs.

< becomes < and > becomes >

How to add VBA code to your comment[vb 1="vbnet" language=","]

Put your VBA code here.

[/vb]

How to add a picture to your comment:Upload picture to postimage.org or imgur

Paste image link to your comment.

Contact OscarYou can contact me through this contact form