View Single Post
  #6   Report Post  
Posted to microsoft.public.excel.misc
joel joel is offline
external usenet poster
 
Posts: 9,101
Default If statement for time

To get remove hour portion of time from days it is
MyTime - Int(MyTime)

Not Mod.

For example
6/10/08 = 39609 which is the number of days since Jan 1 , 1900

6:00 AM is .25 which is 6 hours /24 hours

so you have 39609.25

to get the hours from the day it is

39609.25 - Int(39609.25)
39609.25 - 39609

= .25

from
=IF(AND(int(B5)=timevalue("9:00 AM"),Int(B5)<=timevalue("5:00
PM")),"Yes","No")

to
=IF(AND((B5-int(B5))=timevalue("9:00 AM"),(B5-Int(B5))<=timevalue("5:00
PM")),"Yes","No")

I guess Mod 1 also works
=IF(AND(Mod(B5,1)=timevalue("9:00 AM"),Mod(B5,1)<=timevalue("5:00
PM")),"Yes","No")


"Dom" wrote:

Thank you

"Joel" wrote:

use the Hour function

Mytime = TimeValue("09/01/2008 16:53")
If (Hour(Mytime) = 9) And (Hour(Mytime) <= 17) Then
a = 1
End If

or
=IF(AND(HOUR(B5)=9,HOUR(B5)<=17),"Yes","No")

these solutions don't include exactly 5:00 PM

Another solution

Mytime = TimeValue("09/01/2008 16:53")
If (Int(Mytime) = timevalue("9:00 AM")) And (Int(Mytime) <= timevalue(5:00
PM")) Then

End If

=IF(AND(int(B5)=timevalue("9:00 AM"),Int(B5)<=timevalue("5:00
PM")),"Yes","No")


The Int() rounds the time value to remove the date.
"Dom" wrote:

Hi I have been working on some information that shows when a job was logged
and when it was then completed. I have times for these both and have been
able to work out the difference between these dates in workdays and figure
out the times ( dd:hh:mm) but I now need an if statement for if the time to
only count hours after 9am and before 5pm. For example I want to work out 32
working hours from
09/01/2008 06:53
I have worked out the working days so I currently have
10/01/2008 14:53
but I only want it to work out the 32 hours from 09:00 - 17:00 every day
Is there any way of doing this?