如何仅在Excel工作时间中计算时差 [英] how to calculate time difference in excel working hours only

查看:112
本文介绍了如何仅在Excel工作时间中计算时差的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何使用每天都不相同的特定工作时间来计算项目的工作时间?

How can I calculate hours worked on a project using specific working hours that aren't the same each day?

因此,星期一-星期五,我工作时间是上午7点至晚上7点,星期六工作是上午9点至下午-1点,我要休假(幸运的是我).如果我在3月1日上午10点开始一个项目,并在3月5日上午9点结束,那么我该如何计算27小时的答案?

So Monday - Friday I work 7 am-7 pm, Saturday 9 am -1 pm and I take Sunday off (lucky me). If i start a project on the 1st March 10 am and finish on the 5th March at 9 am how can I calculate an answer of 27 hours ??

我有两个单元格日期/时间开始和日期/时间结束.我有多个行要执行此操作,并且要有几个时间点,但这在本质上将是相同的.

I have two cells date/time start and date/time finish. I have multiple rows to do this to and several time points but this essentially will work the same.

我希望有道理.

编辑-解决方案尝试了相反的结果

Edit - Solutions tried and opposing results

推荐答案

您将需要一个具有以下公式的帮助列:

You will need a helper column with this formula:

=24*(SUMPRODUCT((TEXT(ROW(INDEX(AAA:AAA,$F$1):INDEX(AAA:AAA,$F$2)),"dddd")=A1)*(C1-B1))-IF(TEXT($F$1,"dddd")=A1,MOD($F$1,1)-B1,0)-IF(TEXT($F$2,"dddd")=A1,C1-MOD($F$2,1),0))

然后将该列求和.

在这里使用NETWORKDAYS.INTL在一个公式中

Here it is in one formula using NETWORKDAYS.INTL

=IF(DATEDIF(F1,F2,"d")>1,NETWORKDAYS.INTL(F1+1,F2-1,"0000011")*12+NETWORKDAYS.INTL(F1+1,F2-1,"1111101")*4,0)+IF(DATEDIF(F1,F2,"d")>0,(MOD(F2,1)-IF(WEEKDAY(F2,2)<6,TIME(7,0,0),TIME(9,0,0)))*24+(IF(WEEKDAY(F1,2)<6,TIME(19,0,0),TIME(13,0,0))-MOD(F1,1))*24,(F2-F1)*24)

这篇关于如何仅在Excel工作时间中计算时差的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆