Excel DATEDIF Function – Calculate the difference between two dates.pdf

download Excel DATEDIF Function – Calculate the difference between two dates.pdf

of 9

description

Excel DATEDIF Function – Calculate the difference between two dates.pdf

Transcript of Excel DATEDIF Function – Calculate the difference between two dates.pdf

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 1/11

    Excel DATEDIF Function Calculate thedifference between two datesDATEDIF is a hidden function in Excel. As the name suggests the job of this function is to calculate thedifference between two given dates.

    I have referred this function as hidden because, for some reason Microsoft has decided not to document thisfunction. And because of this you wont find this function in the Formula Tab.

    To verify this, try and type =DATE in any cell. You will see, Excel enlists all the functions that start with theword date but it doesnt shows DATEDIF.

    Please note that, DATEDIF Function in Excel is totally different from the DATEDIFF (Notice the extra F)Function in VBA.

    Syntax of Excel DATEDIF function:Learning the syntax of DATEDIF function is very important. Because for applying this function you need toknow its complete syntax as Excel wont provide you any help on this.

    The Syntax of DATEDIF function is as follows:

    HOME HOW TOS EXCEL FORMULAS VBA IN EXCEL

    INTERESTING EXCEL CHARTS OTHERS

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 2/11

    =DATEDIF(Start_Date,End_Date,Unit)

    Here, Start_Date is the starting date of the period that you wish to calculate. Start_Dateas a string within double quotes (like: 10/10/2013), it can also be entered as a serial number, as Excelinternally treats dates as serial numbers (for example: the number 41557 represents 10/10/2013, if you areusing the 1900 date system), or you can also supply the dates as a formula (like: =DATE(2013,10,10)

    End_Date is the last date of the period that you wish to calculate. Similar to Start_Date, also be entered as a string, number or a formula.

    Unit specifies the interval by which you want the difference to be returned. There are 6 Unitsdescribed as under:

    UNIT RETURNS

    Y Returns the period difference as complete years.

    M Returns the period difference as complete months.

    D Returns the number of days in the period.

    MDReturns the difference between the days in Start_Date and End_Date. Here the months and years of the datesare ignored.

    YMReturns the difference between the months in Start_Date and End_Date. Here the days and years of the datesare ignored

    YD Returns the difference between the days of Start_Date and End_Date. Here the years of the dates are ignored.

    How to Use Excel DATEDIF function:Now, lets understand how to use DATEDIF function in excel.

    Objective: Lets, consider our objective is to find the number of days from 14 April 1912 (The day on whichTitanic Sank) till todays date.

    So, we will try to apply the DATEDIF formula.

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 3/11

    Start_Date: In this case our Start_Date will be: 14 April 1912.

    End_Date: End_Date will be todays date. So, instead of entering the todays date manually we will use theToday() function.

    Unit: As we want to find the number of days between the period. So, the Unit will be d.

    This formula results into: 36910 days.

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 4/11

    Some Important points about DATEDIF Formula:DATEDIF throws a #NUM error is Start_Date is greater than End_Date.

    It throws a #Value error if anyone of the date arguments is invalid.

    It also throws a #NUM error if the Unit is invalid.

    Few Examples of DATEDIF Function:Now, lets move to some examples of DATEDIF function:

    Example 1: Write a formula to calculate the total number of years from 1/1/2001 to 1/1/2007.

    This can be simply done by using the below formula:

    =DATEDIF("01/01/2001","01/01/2007","y")

    And the answer is 6.

    Example 2: Write a formula to calculate the number of complete months from 1/1/2001 to 1/1/2007.

    The formula that we are going to user here is:

    =DATEDIF("01/01/2001","01/01/2007","m")

    The answer is 72 i.e. 6 years X 12 months in each year =72

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 5/11

    Example 3: Write a formula to calculate your age in years, months and days.

    For finding the age we will need birth date of a person. In our example we will take the birth date as12/12/1986

    So, we will use a formula =DATEDIF("12/12/1986",TODAY(),"y")&"years,"&DATEDIF("12/12/1986",TODAY(),"ym")&"month(s),"&DATEDIF("12/12/1986",TODAY(),"md")&"Days"

    The need to supress zero values:

    In Example 3 we have seen how DATEDIF function can be used of calculating age. However, if the number ofyears and/or months is 0, then the resultant of the formula looks strange.

    Okay, I will try to explain this in detail.

    Consider that we have to calculate age of a baby born on 12/12/2012.

    So, will try to use the formula: =DATEDIF("12/12/2012",TODAY(),"y")&"years,"&DATEDIF("12/12/2012",TODAY(),"ym")&"month(s),"&DATEDIF("12/12/2012",TODAY(),"md")&"Days"

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 6/11

    See, what the result of this formula is.

    Doesnt 0 years looks odd.

    So, to fix this issue we will use the IF function along with Excel DATEDIF.

    And the new formula will be:

    =IF(DATEDIF("12/12/2012",TODAY(),"y")=0,"",DATEDIF("12/12/2012",TODAY(),"y")&"years,")&IF(DATEDIF("12/12/2012",TODAY(),"ym")=0,"",DATEDIF("12/12/2012",TODAY(),"ym")&"month(s),")&IF(DATEDIF("12/12/2012",TODAY(),"md")=0,"",DATEDIF("12/12/2012",TODAY(),"md")&"Days")

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 7/11

    supressing-zeros-in-datedif-10

    I think now you all would agree, that the output of this new formula looks better than the old one.

    Is DATEDIF a safe function?

    I know this is a bit strange but many Excel Gurus say that its not good to use DATEDIF in your importantworkbooks. As this is an undocumented function and going forward there may be a chance that Microsoftmay remove support for this function.

    So, whats the alternative to DATEDIF?

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 8/11

    The alternative to Excel DATEDIF would be a User defined function (UDF) that internally uses the VBADATEDIFF function:

    FunctionxlDATEDIF(Start_DateAsDate,End_DateAsDate,UnitAsString)AsStringxlDATEDIF=DateDiff(Unit,Start_Date,End_Date)EndFunction

    This UDF accepts three parameters:

    Start_Date: The days from which the period begins.

    End_Date: It is the last date of the period that you wish to calculate.

    Unit: It specifies the interval by which you want the difference. Here the unit accepts following values.

    Value Description

    YYYY Year

    Q Quarter

    M Month

    Y Day of year

    D Day

    W Weekday

    WW Week

    H Hour

    N Minute

    S Second

    Example 4: Using this UDF to find the number of days between 01/01/2010 and 01/01/2012.

    To do this we will use the formula:

    =xlDATEDIF("01/01/10","01/01/12","d")

  • 2/25/2015 ExcelDATEDIFFunctionCalculatethedifferencebetweentwodates

    http://www.exceltrick.com/formulas_macros/exceldatediffunction/ 9/11

    And it results into 730.

    So, this was all about Excel DATEDIF function. Do let me know in case you come across any issues whileusing this function.

    Filed Under: Formulas Tagged With: Excel All Versions

    About Ankit KaulAnkit is the founder of Excel Trick. He is tech Geek who loves to sit in front of his square headed girlfriend(his PC) all day long. :D. Ankit has a strong passion for learning Microsoft Excel. His only aim is to turn youguys into 'Excel Geeks'.

    You can find Ankit on FaceBook or Google Plus

    Visit the Techiee Tee Store