Microsoft Excel stores all dates as integers and all times as decimal fractions. With this system, Excel can add, subtract, or compare dates and times just like any other numbers, and all dates are manipulated by using this system.
In this system, the serial number 1 represents 1/2/1904 12:00:00 A.M. Times that are stored as decimal numbers between .0 and .99999, where .0 is 00:00:00 and .99999 is 23:59:59. The date integers and time decimal fractions can be combined to create numbers that have a decimal and an integer portion. For example, the number 32331.06 represents the date and time 7/8/1992 1:26:24 A.M.
To help you perform complex date and time calculations, Microsoft Excel includes many built-in date and time functions.
The TODAY() and NOW() Functions
function returns the serial number of today's date based on your system clock and does not include the time. The NOW
function returns the serial number of today's date and includes the time.
How Dates Are Sorted Based on Serial Number
In Microsoft Excel, dates are sorted based on the serial number of the date, instead of on the displayed number. Therefore, when you sort dates in Microsoft Excel, you may not receive the results you expect.
For example, if you sort a series of dates that are displayed in the mmmm date format (so that only the month is displayed), the months are not sorted alphabetically. Instead, the dates are sorted based on their underlying date serial number.
How Dates Are Compared Based on Serial Number
Because serial numbers are also used in date and time comparisons, actual results may be different from what you expect (based on the displayed values).
For example, when you use the NOW
function to compare a date with the current date, as in the formula
the formula returns FALSE, even if the current date is 10/1/92; it returns TRUE only when the date is 10/1/92 12:00:00 a.m. If you are comparing two dates in a formula, and you do not have to have the time included in the result, you can work around this behavior by using the TODAY
How to Work with Date Formulas
How to Find the Number of Days Between Today and a Future Date
To find the number of days between now and a date sometime in the future, use the following formula
is the future date. Use the General format to format the cell that contains the formula.
How to Find the Number of Days, Months, and Years Between Two Dates
To calculate the number of days, months, and years between two dates, where the start and end dates are entered in cells A1 and A2 respectively, follow these steps:
- Create a new workbook
- Type the following data in the workbook:
A1: 03/25/94 A2: 05/01/98
- Type the following formula in cell D1:
=YEAR(A2)-YEAR(A1)-IF(OR(MONTH(A2)<MONTH(A1),AND(MONTH(A2)=MONTH(A1), DAY(A2)<DAY(A1))),1,0)&" years, "&MONTH(A2)-MONTH(A1)+IF(AND(MONTH(A2) <=MONTH(A1),DAY(A2)<DAY(A1)),11,IF(AND(MONTH(A2)<MONTH(A1),DAY(A2) >=DAY(A1)),12,IF(AND(MONTH(A2)>MONTH(A1),DAY(A2)<DAY(A1)),-1)))&" months, "&A2-DATE(YEAR(A2),MONTH(A2)-IF(DAY(A2)<DAY(A1),1,0),DAY(A1))&" days" Note If you copy and paste this formula, make sure there are no line breaks, or the formula does not work.
If you typed the formula correctly, cell D1 now displays:
4 years, 1 months, 6 days Additional Formula Breakdown for Days, Months, and Years
This formula can also be broken down into individual segments of days, months, and years as follows.Note
If you copy and paste these formulas, make sure that there are no line breaks, or the formulas will not work.
Time segment Formula ------------------------------------------------------------------------ The remaining number of =A2-DATE(YEAR(A2),MONTH(A2)- days between two dates, IF(DAY(A2)<DAY(A1),1,0),DAY(A1))&" days" ignoring years and months The remaining number of =MONTH(A2)-MONTH(A1)+IF(AND(MONTH(A2) months between two dates, <=MONTH(A1),DAY(A2)<DAY(A1)),11, ignoring years and days IF(AND(MONTH(A2)<MONTH(A1),DAY(A2)>= DAY(A1)),12,IF(AND(MONTH(A2)>MONTH(A1), DAY(A2)<DAY(A1)),-1)))&" months" The number of whole years =YEAR(A2)-YEAR(A1)-IF(OR(MONTH(A2)< between two dates MONTH(A1),AND(MONTH(A2)=MONTH(A1), DAY(A2)<DAY(A1))),1,0)&" years" NOTE
: In the above formulas, &" days", &" months", and &" years" are optional. These allow you to distinguish the results as days, months, and years.
How to Find the Number of Weekdays Between Two Dates
To find the number of weekdays between two dates, where the start and end dates are typed in cells A1 and A2 respectively, follow these steps:
- Create a new workbook.
- Type the following data in the workbook:
A1: 03/25/94 A2: 05/01/98
- In cell D1, type the following formula:
1,071 is the result.Note
If you see #NAME
as the result, click Add-Ins
on the Tools
menu. Click to select the Analysis ToolPak
check box. If the Analysis ToolPak
check box is not listed in the Add-Ins
dialog box, you must install it from the Office Value Pack. For additional information about the Value Pack, click the following article number to view the article in the Microsoft Knowledge Base:
What's installed with the Office 2001 value pack
How to Increase Dates Incrementally
To increase a date by a number of years, months, or days, use the formula
is either the date value or cell reference that contains the date, and value1
, and value3
are the increments by which you want to increase the year, month, and day, respectively.
For example, to increase a date by one month, the formula is:
How to Work with Time Formulas
How to Calculate Elapsed Time
When you subtract the contents of one cell from another to find the amount of time elapsed between them, the result is a serial number that represents the elapsed hours, minutes, and seconds. To make this number easier to read, use the h:mm time format in the cell that contains the result.
In the following example, if cells C2 and D2 contain the formula =B2-A2
, and cell C2 is formatted in the General format, the cell displays a decimal number (in this case, 0.53125, the serial number representation of 12 hours and 45 minutes).
A1: Start Time B1: End Time C1: Difference D1: Difference (General) (h:mm) A2: 6:30 AM B2: 7:15 PM C2: 0.53125 D2: 12:45
If midnight falls between your start time and end time, you must account for the 24-hour time difference. You can do this by adding the number 1, which represents one 24-hour period. For instance, you could set up the following table, which allows for time spans beyond midnight.
A1: Start Time B1: End Time C1: Difference D1: Difference (General) (h:mm) A2: 7:45 PM B2: 10:30 AM C2: 0.61458333 D2: 14:45
To set up this table, type the following formula in cells C2 and D2:
How to Accumulate Hours and Minutes Greater Than 24 Hours
If you want to display a time greater than 24 hours correctly, you can use the 37:30:55 built-in format. If you want to use a custom format instead, you must enclose the hours parameter of the format in brackets, for example:
How to Convert a Date to Its Decimal Number Equivalent
To convert a serialized date (h:mm:ss) to a decimal number (0.00), you must convert the serial number to a decimal by converting to a 24-hour base. You do this by multiplying the time by 24 as follows
is the number that you want to convert from a time format to a decimal number. This number can be a cell reference or a string of numbers in the TIMEVALUE
For example, if cell A1 contains a time of "4:30" to represent four hours and 30 minutes, the formula is:
The result is 4.5.
If the cell contains both a date and a time, use the following formula:
For example, if cell A1 reads "6/20/96 4:30 AM", the formula is:
The result again is 4.5.
How to Convert a Decimal Number to Its Date Equivalent
To convert a decimal number (0.00) to its serial date equivalent (h:mm:ss), you must convert the serial number to a decimal by converting to a 24-hour base. You do this by dividing the time by 24 as follows
is the number that you want to convert from a decimal number to a date serial number and can be a cell reference or a real number. For example, if you have a value of 4.5 to represent four hours and 30 minutes in cell A1, the formula is:
The result is 4:30.
How to Transfer Files Between Excel for the Macintoshand Excel for Windows
By default, Excel for the Macintosh uses the 1904 date system, and Excel for Windows uses the 1900 date system. This means that when you type the serial number 1 in Excel for the Macintosh and format it as a date, Excel displays it as 1/2/1904 12:00 a.m.
Excel for Windows displays the serial number 1 as 1/1/1900 12:00 a.m.
If you transfer files from Excel for the Macintosh to Excel for Windows, this difference in the date systems should not cause a problem, because the date system is stored in each file. However, if you copy and paste between files with different date systems that originated on different platforms, dates may be displayed four years and one day away from their correct date.
In Microsoft Excel for Mac, you can change to the 1900 date system by clicking Preferences
(on the Edit
menu in Excel 2001 for Mac, or on the Excel
menu in later versions), clicking the Calculation
tab, and then clicking to clear the 1904 date system
check box. In Excel for Windows, you can change to the 1904 date system by clicking Options
on the Tools
menu, clicking the Calculation
tab, and then clicking to select the 1904 date system
You cannot use the preceding calculations on dates before 1/1/1900 12:00 a.m. This is because the way the date is stored, it does not have a negative component; therefore, -1 is not the equivalent of 12/31/1899 11:59 p.m. Dates before the 1900 date always appear as text and cannot be manipulated.