Solved

Calculate days between two dates

Posted on 2016-11-24
7
115 Views
Last Modified: 2016-11-24
Hi , i'm using this code which calulates the number of days between two dates however if the two dates are the same day i get = 0. for eample:

24/11/2016 to 24/11/2016 = 0

I need it to say:

24/11/2016 to 24/11/2016 = 1

or another example:

24/11/2016 to 25/11/2016 = 2

targetSheet.getRange(targetSheet.getLastRow(),numColumns  + 1).setFormula("=DATEDIF(R[0]C[-8],R[0]C[-1], \"D\")");

Open in new window


thanks you
zac
0
Comment
Question by:bede123
  • 3
  • 2
  • 2
7 Comments
 
LVL 32

Accepted Solution

by:
Rob Henson earned 500 total points
ID: 41900502
Just do +1 on the end of the formula
0
 
LVL 11

Expert Comment

by:Missus Miss_Sellaneus
ID: 41900504
Use MAX with a 1 around the DATEDIF formula like this:

=MAX(1,DATEDIF(R[0]C[-8],R[0]C[-1], \"D\")"))
0
 
LVL 32

Expert Comment

by:Rob Henson
ID: 41900506
@Miss_Sellaneus - Using MAX would get round the same day issue, making the 0 become 1 but it wouldn't get round the other example, that would still say 1 rather than 2.
0
Are your AD admin tools letting you down?

Managing Active Directory can get complicated.  Often, the native tools for managing AD are just not up to the task.  The largest Active Directory installations in the world have relied on one tool to manage their day-to-day administration tasks: Hyena. Start your trial today.

 
LVL 11

Expert Comment

by:Missus Miss_Sellaneus
ID: 41900509
Yes, I know.

In my hurry to answer I missed that the author wanted that for all of it.
0
 
LVL 1

Author Closing Comment

by:bede123
ID: 41900541
thank you very much.  my code now looks like this and works:

targetSheet.getRange(targetSheet.getLastRow(),numColumns  + 1).setFormula("=DATEDIF(R[0]C[-8],R[0]C[-1],\"D\")+1");
0
 
LVL 32

Expert Comment

by:Rob Henson
ID: 41900556
To expand a bit on how it works.....

Excel stores dates as an integer serial number based on the number of days since the start of time; the start of time being 01 Jan 1900 in Excel's brain.  Therefore, to calculate the number of days between two dates you have to deduct the earlier date from the later date.

Today (24 Nov 16) is day 42698, yesterday was therefore 42697. To calculate number of days you would have a formula that says "=Today minus Yesterday" which excel reads as "=42698-42697" and the result is obviously 1.  

When working with dates it is quite common to have to adjust the result by 1. Some examples:
1) If looking at a working week you would say that Monday to Friday is 5 days yet if you had Friday Date minus Monday Date the result would be 4; need to add 1.

2) If an event was being held over a weekend, we would say it was 2 days; but Sunday Date minus Saturday Date = 1, need to add 1.

Excel gets even more complicated when time is also involved but that's another topic!!!
0
 
LVL 1

Author Comment

by:bede123
ID: 41900590
thanks. makes so much more sense when written in plain English.
0

Featured Post

Optimizing Cloud Backup for Low Bandwidth

With cloud storage prices going down a growing number of SMBs start to use it for backup storage. Unfortunately, business data volume rarely fits the average Internet speed. This article provides an overview of main Internet speed challenges and reveals backup best practices.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

International Data Corporation (IDC) prognosticates that before the current the year gets over disbursing on IT framework products to be sent in cloud environs will be $37.1B.
This article descibes how to create a connection between Excel and SAP and how to move data from Excel to SAP or the other way around.
This Micro Tutorial will demonstrate the scrolling table in Microsoft Excel using the INDEX function.
This Micro Tutorial demonstrates in Microsoft Excel how to consolidate your marketing data by creating an interactive charts using form controls. This creates cool drop-downs for viewers of your chart to choose from.

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question