|
笔峰侠的函数:
函数1=2*CEILING(B2-INT(A2-0.25)-0.5,0.25)-INT(CEILING(B2-INT(A2-0.25)-0.5,0.25))
函数2=CEILING(SUBSTITUTE(CEILING(B2-INT(A2-0.25)-0.5,0.25),".5",".75"),0.5)
修正版:=MAX(CEILING(SUBSTITUTE(CEILING(B13-INT(A13-0.25)-0.5,0.25),".5",".75"),0.5),1)
小爪的自定义函数:
'根据宾馆酒店业的特点:
'一、住宿是从客人开始(每日早6:00之后)入住,既开始计费,直到第二天的中午12:00之前退房都按一天计算
'二、退宿超过12:00,但到18:00之前,另外加半天计算。
'三、退宿超过18:00以后,另外加收一整天的房费。
'我编一个结算宾馆酒店业住宿天数的自定义函数
''计算酒店业住宿天数函数
''
''例:XZjdday([开始日期],[开始时间],[结束日期],[结束时间])
Public Function XZjdday(StarD As Date, StarT As Date, EndD As Date, EndT As Date) As String
Dim TFDay%
Dim TFHour%
Dim B As Single
TFDay = EndD - StarD
TFHour = Hour(EndT)
B = 0
''判断日期是否超过一天
If StarD = 0 Or EndD = 0 Or StarT = 0 Or EndT = 0 Then
XZjdday = 0: Exit Function
End If
If TFDay > 0 Then
If TFHour >= 12 And TFHour < 18 Then
B = B + 0.5
ElseIf TFHour >= 18 Then
B = B + 1
End If
Else
B = B + 1
End If
XZjdday = TFDay + B
End Function
[ 本帖最后由 pureshadow 于 2008-1-28 12:14 编辑 ] |
|