在excel中将时间转移到下一个日期

时间:2017-04-07 11:03:20

标签: excel vba excel-vba

我是生物测量设备的管理员,我的办公室正在进行3次轮班。

                    In time                                    Out time                           Date

Shift1           6AM                                       2PM                                   5th April
Shift2           2PM                                       10PM                                 5th April
Shift3           10PM      5th April                6AM                                   6th April

但是晚上10点的第三班时间为

 In time          Out Time
day1   out time      10PM
day2 in time 6AM

我怎样才能在同一个日期10PM作为intime和6AM作为excel的出场时间?

我也希望自动生成它。 我希望Out Time必须显示为相同的日期。

Date             Intime           Outtime

5.4.17          6AM               2PM
5.4.17          2PM               10PM
5.4.17         10PM              6AM

我希望在从网络生成报告时自动执行报告。

1 个答案:

答案 0 :(得分:0)

= Now()将生成一个数字(双精度型),如42832.8008217593,其中日期显示在句点的左侧,时间显示在右侧。晚上10点(22:00:00)将表示为0.9166666667。添加8小时到这个数字(1/24 * 8),结果是1.25,这意味着,用简单的语言,“第二天上午6点”。

要解决您的问题,您可以使用条件,例如,如果结束时间是第二天,则从结果日期扣除一天。这意味着当天比实际提前一天的1.25 - 1 = 0.25 = 6:00 AM。您的结束时间是正确的日期/时间(如42833.25)还是相对时间(如1.25)取决于您输入数据的方式。

您可以通过计算(日期/时间 - Int(日期/时间),如1.25 - Int(1.25)= 1.25 -1 = 0.25

从日期/时间值中提取时间)