Solved

calculate weekdays excluding holidays

Posted on 2013-11-05
7
449 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
Live: Real-Time Solutions, Start Here

Receive instant 1:1 support from technology experts, using our real-time conversation and whiteboard interface. Your first 5 minutes are always free.

 

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

Courses: Start Training Online With Pros, Today

Brush up on the basics or master the advanced techniques required to earn essential industry certifications, with Courses. Enroll in a course and start learning today. Training topics range from Android App Dev to the Xen Virtualization Platform.

Question has a verified solution.

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

Suggested Solutions

Whether you’re looking to gather data for research or gather feedback on an idea, being able to build and distribute your own online survey is not only cost-effective, but allows you to reach a larger audience and receive results in real-time. Googl…
: Microsoft Office Collaborate for free and online versions of Microsoft  Word, Excel, Powerpoint, OneNote, Onedrive , Email, Calendar etc. In short we can say that Microsoft office is a suite of servers, applications and services developed by  Micr…
This Micro Tutorial  demonstrates whether your site uses one subdomain or multiple subdomains, how to create full URLs from Google Analytics content reports. This procedure is called concatenation and can also be done with the CONCATENTATE function.…
By using UNIQUE function in Google Sheets, you can get around removing duplicates like in Microsoft Excel.

776 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