View Single Post
  #3   Report Post  
Posted to microsoft.public.excel.worksheet.functions
joel joel is offline
external usenet poster
 
Posts: 9,101
Default Time interval worksheet function

This is a general format for what you need. It will not work properly for
every combination of min and max. Modify it as you see fit.

Function TimeRange(StartTime As Range, MinMax As String, _
Limit As Single, Endtime As Range)
'a. start time (there may be 1 to 5 times)
'b. a way to indicate wether I want the min or max time
'c. a high and low out range value
'd, End time same (there may be 1 to 3 times)


If StrComp(StrConv(MinMax, vbUpperCase), "MAX") = 0 Then
First = True
For Each MyTime In StartTime
If First = True Then
MyStartTime = MyTime.Value
First = False
Else
If MyTime.Value MyStartTime Then _
MyStartTime = MyTime.Value
End If
Next MyTime
First = True
For Each MyTime In Endtime
If First = True Then
MyEndTime = MyTime.Value
First = False
Else
If MyTime.Value MyEndTime Then _
MyEndValue = MyTime.Value
End If
Next MyTime
Else
If StrComp(StrConv(MinMax, vbUpperCase), "MIN") = 0 Then
First = True
For Each MyTime In StartTime
If First = True Then
MyStartTime = MyTime.Value
First = False
Else
If MyTime.Value < MyStartTime Then _
MyValue = MyStartTime.Value
End If
Next MyTime
First = True
For Each MyTime In Endtime
If First = True Then
MyEndTime = MyTime.Value
First = False
Else
If MyTime.Value < MyEndTime Then _
MyEndTime = MyTime.Value
End If
Next MyTime
Else
TimeRange = "Error"
Exit Function
End If
End If
If (MyEndTime - MyStartTime) Limit Then
TimeRange = "Over"
Else
TimeRange = MyEndTime - MyStartTime
End If
End Function



"Zb Kornecki" wrote:

I would appriciate some help writing a function, to measure several interval
along a timeline. however not every interval applies to every record. what
I envision is a function that takes 7 arguments

a. start time (there may be 1 to 5 times)
b. a way to indicate wether I want the min or max time
c. a high and low out range value
d,e & f. End time same 3 critera as start time
g. format choice for [h]:mm, just minutes or h.00

I currently use

=IF(MIN(Data!G2,Data!H2,Data!I2,Data!P2)-Data!B27,"OVER",IF(MIN(Data!G2,Data!H2,Data!I2,Da ta!P2)-Data!B2<0,"",MIN(Data!G2,Data!H2,Data!I2,Data!P2)-Data!B2))

but this doesn't really do all I need it to and is very time consuming. I do
to this to log times for an Emergency Dept's visits so it needs to be done on
a regular basis and the looked at intervals change regularly so I just can't
use a template. Any and all help would be truely appriciated
Thanks
Zb