在excel 2013中,对于一个小项目,我正在尝试计算结束日期和时间。任务的时间,基于开始日期和时间。时间和努力。
假设:
例如,如果开始日期= 29-Dec-16 07:00
我使用WorkDay.Intl
函数,使用工作日= 7来计算结束日期。
此外,我还尝试根据前一行的结束日期填充下一行的开始日期。例如:如果上一行的结束日期是30-Dec-16 11:00,则下一行的开始日期应与上一行的结束日期相同。但是,如果结束日期是30-Dec-16 15:00,则开始日期应为31-Dec-16 07:00。
有人可以帮忙吗?
感谢您的期待。
此致 萨钦
答案 0 :(得分:0)
以下是我根据您的描述得到的内容:
A1:A3:开始,努力,结束 A2 =第一个开始日期(在这种情况下12/29/2016 07:00 AM) 在A3中复制下来:
=IF(C2<>"No Effort",IF(C2<>"",C2,""),"")
在C2中复制下来:
=IF(A2<>"",IF(B2<>"",IF(MOD(B2,1)=0,A2+INT(B2),A2+INT(B2)+(MOD(B2,1)*8)/24),"No Effort"),"")
然后在B2和向下你输入你需要的小数点数,前一天的结束将是每一天的开始。每天的结束将是从努力中添加的日子和时间。
答案 1 :(得分:0)
我试图找到一种处理三个边缘情况的方法
(1)前一个结束时间是15:00
(2)如果新的结束时间恰好落在15:00,例如从11:00开始,工作4小时(努力= 0.5)
(3)如果前一个结束时间加上努力的任何一小部分时间溢出到第二天,例如从11:00开始工作6小时(努力= 0.75),所以在第二天9:00结束。
我发现使用辅助列来存储案例(2)和(3)的小数天更容易。
首先从D2的12月28日15:00开始,以及B3的努力,将以下内容放入A3,C3和D3中:
=IF(MOD(D2,1)=15/24,WORKDAY.INTL(D2,1,7)+7/24,D2)
=MOD(A3-7/24,1)*3+MOD(B3,1)
=IF(ROUND(MOD(C3,1),6)=0,WORKDAY.INTL(A3,INT(B3)+C3-1,7)+15/24,WORKDAY.INTL(A3,INT(B3)+C3,7)+MOD(C3,1)/3+7/24)