EXCELL中如何将A列起始时间和B列结束时间的时间段分别计算到每个时间段中.
比如:x05
开车时间x05停车时间x05 峰期x05 平期x05 谷期
x05x0519:00-23:00 x0511:00-19:00x0519:-07:00
7:00-11:00
13:35:00 x0521:10:00x05x05x05
23:10:00 08:25:00
12:00 18:00
根据前面时间段对应后面的峰、平、谷期分别计算到相应的时期内,
如入开始时间是12:00,结束时间是18:00,就把它计算在平期那个单元格中.
比如13:35是平期,21:10又是谷期,这个时间段有个跨越.
可能性太多,要VBA
弄了个VBA自定义函数,测试过了,可以解决问题,费了不少脑筋.
函数名tj(t1,t2,n),参数:t1-开始时间(直接引用单元格),t2-结束时间,n-1、2、3(代表峰平谷的时间段)
Function Tj(t1, t2, n As Integer)
Dim f(2) As Integer, Ti(2), arr(2, 1) As Date
n = n - 1
arr(0, 0) = TimeValue("7:00:00")
arr(0, 1) = TimeValue("4:00:00")
arr(1, 0) = TimeValue("11:00:00")
arr(1, 1) = TimeValue("8:00:00")
arr(2, 0) = TimeValue("19:00:00")
arr(2, 1) = TimeValue("12:00:00")
s = t2 - t1 '总时长
If s < 0 Then
s = TimeValue("23:59:59") + s + TimeValue("00:00:01")
End If
'------------开始时间属于哪一时间段
Select Case t1
Case arr(0, 0) To arr(1, 0) - TimeValue("00:00:01")
f(0) = 0 'f用于记录时间段顺序
f(1) = 1
f(2) = 2
t1_ = arr(0, 1) - (t1 - arr(0, 0))
Case arr(1, 0) To arr(2, 0) - TimeValue("00:00:01")
f(0) = 1
f(1) = 2
f(2) = 0
t1_ = arr(1, 1) - (t1 - arr(1, 0))
Case Else
f(0) = 2
f(1) = 0
f(2) = 1
If t1 > arr(2, 0) Then
t1_ = arr(2, 1) - (t1 - arr(2, 0))
Else
t1_ = arr(2, 0) - arr(2, 1) - t1
End If
End Select
'-------------计算各时间段实际时长
arr(f(0), 1) = t1_
i = 0
While (s > 0 And i < 3)
Ti(f(i)) = WorksheetFunction.Min(arr(f(i), 1), s)
s = s - Ti(f(i))
i = i + 1
Wend
Ti(f(0)) = Ti(f(0)) + s
Tj = Ti(n) '返回指定时间段时长
If Tj = TimeValue("00:00:00") Then
Tj = ""
End If
End Function
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:3
-
点赞数:0回答数:1
-
点赞数:0回答数:3
-
点赞数:0回答数:2
-
点赞数:0回答数:2
-
点赞数:0回答数:1
-
点赞数:0回答数:1
-
点赞数:0回答数:3

最新问答: 分离纯化常用的色谱分离方法有哪些 英语翻译我想,昆明是我理想中想要居住的城市. 记承天寺夜游文中的“闲人”包含了哪两层意思 花一个长20米,宽10米,深1.5米的游泳池.求这个游泳池的占地面积.如果给游泳池的周长好底部抹上水泥, (2015•河南一模)关于生物进化与生物多样性的形成,正确的说法是( ) 腹式呼吸时人体靠什么吸收氧气普通的呼吸时,人体靠肺里的肺泡吸收氧气,放出二氧化碳.那腹式呼吸时呢? 燃烧包括自燃吗? 仁以为己任的以是什么意思 已知x属于(0,π/2),tanx=1/2,求tan2x和sin(2x+π/3)的值 甲、乙两列火车分别从A、B两地同时出发,相向而行,经过1.5小时在离中点18千米处相遇.已知甲车速度是乙车的1.2倍,相 卫星环月工作轨道为圆轨道距离月球表面高度为h 运行周期为T 若月球半径为R 求1卫星绕月球运动的环绕速度 I asked him ------it ,but he just remained unmoved 《海底量万里》两篇读书笔记 电子环尧着原子核运动时会产生什么东西吗? 大( )地( ) ( )井( )乡 填意思相近的字 求形容事物总是在变化的文言文! 地球自转,我们为什么没感觉?用科技小论文的方式呈现,要通俗易懂, 这句子中的unless otherwise求解 谁帮我想出三个be动词啊? 小明家5月份用电250千瓦时,其中用“峰电”150千瓦时,用谷电100千瓦时.请计算他们家使用峰电电价
相关问答: 计算