Solved

calculate weekdays excluding holidays

Posted on 2013-11-05
7
442 Views
Last Modified: 2015-03-02
I have a spreadsheet that contains start dates and end dates for each record.  some end dates are blank if the record is still active.  Im looking for a way to calculate the number of weekdays, minus holidays, a client was enrolled in a class.

For instance, a17 - d17 shows that shows that john was enrolled from 8/29/13 - 10/11/13.  I want to run a report that shows me the total # of workdays (- holidays) that John was enrolled between 9/1/13 and 9/30/13.

In another example, a18 - d18 shows that Jim was enrolled from 8/26/13 and is still enrolled because they do not have an end date.  I want to calculate the number of work days (- holidays) between 9/1/13 and 9/30/13.  You should assume that the client is still enrolled because there is no end date.

you can see that in H11 i used the networkdays function in an attempt to solve my problem, but that didnt work exactly as i needed.

see this spreadsheet.

thank you for your help.
0
Comment
Question by:colonialiu20
  • 4
  • 3
7 Comments
 
LVL 18

Expert Comment

by:Steven Harris
ID: 39625643
For instance, a17 - d17 shows that shows that john was enrolled from 8/29/13 - 10/11/13.  I want to run a report that shows me the total # of workdays (- holidays) that John was enrolled between 9/1/13 and 9/30/13.

In another example, a18 - d18 shows that Jim was enrolled from 8/26/13 and is still enrolled because they do not have an end date. I want to calculate the number of work days (- holidays) between 9/1/13 and 9/30/13.

There seems to be some missing information here...

If you are basing the 'billable dates' off of set values, you are always going to return the same answer:  18.
0
 

Author Comment

by:colonialiu20
ID: 39625799
Sorry, perhaps those were bad examples

Let's say one person started on 8/26 and ended on 9/15.

Let's say another one started on 9/27 and has no end date.

Could you help calculate the # of billable days.
0
 
LVL 18

Expert Comment

by:Steven Harris
ID: 39625889
Sorry, I am still missing some information:

Are you only trying to calculate billable days for September (9/1/2013-9/30/2013), or all billable days from enroll date to end date?
0
Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

 

Author Comment

by:colonialiu20
ID: 39626013
I'd like the billable date range to be a variable.  I'd  like to be able to set the billable start date and end date and have it calculate the # of weekdays someone was enrolled.  So for instance, if someone enrolled on 8/15 and in unenrolled on 9/16, and I wanted to run a report for the month of September, with a start date of 9/1 and an end date of 9/30, I'd want it to calculate that the client was present on 11 weekdays in the month of September.(2,3,4,5,6,9,10,11,12,13,16)
I hope that makes sense.
0
 
LVL 18

Accepted Solution

by:
Steven Harris earned 500 total points
ID: 39626123
You will need to add IF functions, such as (taken from E31 in attached workbook):

=NETWORKDAYS(IF(C31<=$B$26, $B$26, IF(C31>$B$26, C31)), IF(D31="", $B$27, IF(D31<$B$27, D31, IF(D31>$B$27, $B$27))),INDIRECT(B31))

Open in new window


See the attached workbook.  I made additional values in Cells A30:E33 to represent different possibilities:

Enrolled on 8/26 - End on 9/15 = 9 billable days;
Enrolled on 9/27 - No End (still there) = 2 billable days;
Enrolled on 9/5 - End on 9/18 = 8 billable days.

In your examples, they all equate to 18 days, but the days will recalculate based on the info you provide as variables.  This formula will also provide negative numbers...  If you want to hide those, you can add conditional formatting or change your formula to hide negative values:
(this would go in E17 in your original example and be copied down)
=IF(NETWORKDAYS(IF(C17<=$B$26, $B$26, IF(C17>$B$26, C17, "")), IF(D17="", $B$27, IF(D17<$B$27, D17, IF(D17>$B$27, $B$27, ""))),INDIRECT(B17))<0, "", NETWORKDAYS(IF(C17<=$B$26, $B$26, IF(C17>$B$26, C17, "")), IF(D17="", $B$27, IF(D17<$B$27, D17, IF(D17>$B$27, $B$27, ""))),INDIRECT(B17)))

Open in new window

billabledays--1-.xlsx
0
 

Author Closing Comment

by:colonialiu20
ID: 39627214
This guy is brilliant!!
0
 
LVL 18

Expert Comment

by:Steven Harris
ID: 39627254
I wouldn't say brilliant by any means, but I am glad I could help!
0

Featured Post

Is Your Active Directory as Secure as You Think?

More than 75% of all records are compromised because of the loss or theft of a privileged credential. Experts have been exploring Active Directory infrastructure to identify key threats and establish best practices for keeping data safe. Attend this month’s webinar to learn more.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
Excel 2010 - IF with inside IFERROR 3 46
Excel 2016 - Row 1 missing 5 68
Calculating T-SCORE inside Excel. 3 117
How do I convert xps to .doc or PDF files? 5 48
Learn new improvements released by Google for Google Calendar. Noted in this article are simple tips and tricks that can make your everyday use of Google Calendar better.
You can provide a virtual interface for remote stakeholders in a SWOT analysis through a Google Drawing template. By making real time viewing and collaboration possible, your team can build a stronger product.
This Micro Tutorial will demonstrate how marketers can use the Mobile Emulation Tool in Chrome Developer Tool. This will let you preview your site on any mobile device.
This Micro Tutorial will demonstrate using Google Doc how to import live data to another spreadsheet in Google Spreadsheets using the IMPORTRANGE function.

867 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

Need Help in Real-Time?

Connect with top rated Experts

15 Experts available now in Live!

Get 1:1 Help Now