Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 8
Default calculate number of days formula

hi,
Can someone please help me with a formula to calculate number of days,
excluding weekend days?

A1 B1 C1
Start date End date Total days (excluding weekend)
  #2   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 464
Default calculate number of days formula

Use the NETWORKDAY Function.


--
Regards
Dave Hawley
www.ozgrid.com
"Ranae" wrote in message
...
hi,
Can someone please help me with a formula to calculate number of days,
excluding weekend days?

A1 B1 C1
Start date End date Total days (excluding weekend)


  #3   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,600
Default calculate number of days formula

That looks like a typo (missing S), try

=NETWORKDAYS(start_date,end_date,holidays)

Regards,
Peter T

"ozgrid.com" wrote in message
...
Use the NETWORKDAY Function.


--
Regards
Dave Hawley
www.ozgrid.com
"Ranae" wrote in message
...
hi,
Can someone please help me with a formula to calculate number of days,
excluding weekend days?

A1 B1 C1
Start date End date Total days (excluding weekend)




  #4   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 806
Default calculate number of days formula

Hello,

If you do no need to take into account holidays, I suggest to use the
4th formula shown at
http://sulprobil.com/html/date_formulas.html

Regards,
Bernd
  #5   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default calculate number of days formula

Bernd,

I thought you might be interested in seeing this short one-liner alternative
to your "cwd" function (which requires your "min" function to operate); it
is fully self-contained and, as such, relies only on built-in VB
functions...

Function CWD(D1 As Date, D2 As Date) As Long
CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
(Weekday(D2) < 7) + (Weekday(D1) = 1) + (Weekday(D1, 2) < 6)
End Function

Note that if you remove the last addend, that is the "+(Weekday(d1, 2)<6)"
logical expression, then the function will return the same results as
Excel's NETWORKDAYS function. If we provide the function with an Optional
parameter, we can make it return either result (yours or NETWORKDAYS's) like
so...

Function CWD(D1 As Date, D2 As Date, Optional NWD As Boolean) As Long
CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
(Weekday(D2) < 7) + (Weekday(D1) = 1) - NWD * (Weekday(D1, 2) < 6)
End Function

The default for the NWD (short for NetWorkDays by the way) parameter is
False, meaning it returns the same results as does your "cwd" function...
pass True in for the NWD parameter and the function returns the same values
as Excel's NETWORKDAYS function.

--
Rick (MVP - Excel)



"Bernd P" wrote in message
...
Hello,

If you do no need to take into account holidays, I suggest to use the
4th formula shown at
http://sulprobil.com/html/date_formulas.html

Regards,
Bernd




  #6   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 806
Default calculate number of days formula

Hello Rick,

Thanks, I like that one! I put your cute and shorter version on my
site as well (same page as above).

Your version with the optional parameter NWD is not working as
expected, though:
It returns for 23/08/1933 - 14/10/1933 (NWD is False) 38 days and not
37 as the other versions do, for example.

Regards,
Bernd

On 25 Apr., 19:30, "Rick Rothstein"
wrote:
Bernd,

I thought you might be interested in seeing this short one-liner alternative
to your "cwd" function (which requires your "min" function to operate); it
is fully self-contained and, as such, relies only on built-in VB
functions...

Function CWD(D1 As Date, D2 As Date) As Long
* CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
* * * * (Weekday(D2) < 7) + (Weekday(D1) = 1) + (Weekday(D1, 2) < 6)
End Function

Note that if you remove the last addend, that is the "+(Weekday(d1, 2)<6)"
logical expression, then the function will return the same results as
Excel's NETWORKDAYS function. If we provide the function with an Optional
parameter, we can make it return either result (yours or NETWORKDAYS's) like
so...

Function CWD(D1 As Date, D2 As Date, Optional NWD As Boolean) As Long
* CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
* * * * (Weekday(D2) < 7) + (Weekday(D1) = 1) - NWD * (Weekday(D1, 2) < 6)
End Function

The default for the NWD (short for NetWorkDays by the way) parameter is
False, meaning it returns the same results as does your "cwd" function...
pass True in for the NWD parameter and the function returns the same values
as Excel's NETWORKDAYS function.

--
Rick (MVP - Excel)

"Bernd P" wrote in message

...

Hello,


If you do no need to take into account holidays, I suggest to use the
4th formula shown at
http://sulprobil.com/html/date_formulas.html


Regards,
Bernd


  #7   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default calculate number of days formula

Sorry, it looks like I implemented the NWD parameter backwards. This should
produce the correct results for the NWD parameter equaling True and False...

Function CWD(D1 As Date, D2 As Date, Optional NWD As Boolean) As Long
CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - (Weekday(D2) _
< 7) + (Weekday(D1) = 1) - (Not NWD) * (Weekday(D1, 2) < 6)
End Function

And here it is with the renamed parameters to enforce the requirement that
D1 must be the earlier date and D2 the later one...

Function CWD(StartDate As Date, EndDate As Date, _
Optional NWD As Boolean) As Long
CWD = DateDiff("d", StartDate, EndDate) - DateDiff("ww", StartDate, _
EndDate) * 2 - (Weekday(EndDate) < 7) + (Weekday(StartDate) = 1) _
- (Not NWD) * (Weekday(StartDate, 2) < 6)
End Function

--
Rick (MVP - Excel)



"Bernd P" wrote in message
...
Hello Rick,

Thanks, I like that one! I put your cute and shorter version on my
site as well (same page as above).

Your version with the optional parameter NWD is not working as
expected, though:
It returns for 23/08/1933 - 14/10/1933 (NWD is False) 38 days and not
37 as the other versions do, for example.

Regards,
Bernd

On 25 Apr., 19:30, "Rick Rothstein"
wrote:
Bernd,

I thought you might be interested in seeing this short one-liner
alternative
to your "cwd" function (which requires your "min" function to operate);
it
is fully self-contained and, as such, relies only on built-in VB
functions...

Function CWD(D1 As Date, D2 As Date) As Long
CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
(Weekday(D2) < 7) + (Weekday(D1) = 1) + (Weekday(D1, 2) < 6)
End Function

Note that if you remove the last addend, that is the "+(Weekday(d1,
2)<6)"
logical expression, then the function will return the same results as
Excel's NETWORKDAYS function. If we provide the function with an Optional
parameter, we can make it return either result (yours or NETWORKDAYS's)
like
so...

Function CWD(D1 As Date, D2 As Date, Optional NWD As Boolean) As Long
CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
(Weekday(D2) < 7) + (Weekday(D1) = 1) - NWD * (Weekday(D1, 2) <
6)
End Function

The default for the NWD (short for NetWorkDays by the way) parameter is
False, meaning it returns the same results as does your "cwd" function...
pass True in for the NWD parameter and the function returns the same
values
as Excel's NETWORKDAYS function.

--
Rick (MVP - Excel)

"Bernd P" wrote in message

...

Hello,


If you do no need to take into account holidays, I suggest to use the
4th formula shown at
http://sulprobil.com/html/date_formulas.html


Regards,
Bernd


  #8   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 806
Default calculate number of days formula

Hello Rick,

Great. Tested and published as well. No need anymore for my cwd
version. Thanks.

Regards,
Bernd

On 25 Apr., 21:15, "Rick Rothstein"
wrote:
Sorry, it looks like I implemented the NWD parameter backwards. This should
produce the correct results for the NWD parameter equaling True and False....

Function CWD(D1 As Date, D2 As Date, Optional NWD As Boolean) As Long
* CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - (Weekday(D2) _
* * * * * * *< 7) + (Weekday(D1) = 1) - (Not NWD) * (Weekday(D1, 2) < 6)
End Function

And here it is with the renamed parameters to enforce the requirement that
D1 must be the earlier date and D2 the later one...

Function CWD(StartDate As Date, EndDate As Date, _
* * * * * * *Optional NWD As Boolean) As Long
* CWD = DateDiff("d", StartDate, EndDate) - DateDiff("ww", StartDate, _
* * * * EndDate) * 2 - (Weekday(EndDate) < 7) + (Weekday(StartDate) = 1) _
* * * * - (Not NWD) * (Weekday(StartDate, 2) < 6)
End Function

--
Rick (MVP - Excel)

  #9   Report Post  
Posted to microsoft.public.excel.programming
external usenet poster
 
Posts: 5,934
Default calculate number of days formula

It should be noted that in my function, D1 must be the earlier date and D2
the later one (the DateDiff function requires this). Perhaps changing the
parameter names would help enforce this requirement...

Function CWD(StartDate As Date, EndDate As Date, _
Optional NWD As Boolean) As Long
CWD = DateDiff("d", StartDate, EndDate) - DateDiff("ww", StartDate, _
EndDate) * 2 - (Weekday(EndDate) < 7) + (Weekday(StartDate) = 1) _
- NWD * (Weekday(StartDate, 2) < 6)
End Function

--
Rick (MVP - Excel)



"Rick Rothstein" wrote in message
...
Bernd,

I thought you might be interested in seeing this short one-liner
alternative to your "cwd" function (which requires your "min" function to
operate); it is fully self-contained and, as such, relies only on built-in
VB functions...

Function CWD(D1 As Date, D2 As Date) As Long
CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
(Weekday(D2) < 7) + (Weekday(D1) = 1) + (Weekday(D1, 2) < 6)
End Function

Note that if you remove the last addend, that is the "+(Weekday(d1, 2)<6)"
logical expression, then the function will return the same results as
Excel's NETWORKDAYS function. If we provide the function with an Optional
parameter, we can make it return either result (yours or NETWORKDAYS's)
like so...

Function CWD(D1 As Date, D2 As Date, Optional NWD As Boolean) As Long
CWD = DateDiff("d", D1, D2) - DateDiff("ww", D1, D2) * 2 - _
(Weekday(D2) < 7) + (Weekday(D1) = 1) - NWD * (Weekday(D1, 2) < 6)
End Function

The default for the NWD (short for NetWorkDays by the way) parameter is
False, meaning it returns the same results as does your "cwd" function...
pass True in for the NWD parameter and the function returns the same
values as Excel's NETWORKDAYS function.

--
Rick (MVP - Excel)



"Bernd P" wrote in message
...
Hello,

If you do no need to take into account holidays, I suggest to use the
4th formula shown at
http://sulprobil.com/html/date_formulas.html

Regards,
Bernd


Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
Calculate number of days Linda P. Excel Worksheet Functions 7 April 27th 10 04:29 PM
calculate number of days Charlene Lee Excel Discussion (Misc queries) 5 May 10th 09 05:46 AM
calculate number of days Bazy2k Excel Discussion (Misc queries) 7 January 12th 09 12:24 PM
Formula to calculate number of days & ignore blank cells Mifty Excel Discussion (Misc queries) 7 February 13th 06 10:36 PM
Formula to calculate number of days between Dates themax16 Excel Worksheet Functions 2 October 21st 05 01:38 PM


All times are GMT +1. The time now is 09:14 AM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"