工作日和工作日公式在计算实际到期日方面给出了值错误

时间:2018-07-26 22:54:44

标签: excel excel-formula

我正在计算我们的工作完成日期,我想认为我对IF语句有很好的理解,但是我似乎根本无法弄清楚这一点。

因此,我们有三种产品:政策,报价和评分,它们每个都有其自己的服务时间/日期流程。 -如果在下午4点之前请求政策,则必须在当天完成,否则,如果在下午4:00之后提出,则必须在第二天直到11:59。 -使用报价,您有48个小时来完成报价,使用评级,您有7天。

我也有一个参考公司假期的查找表,我决定使用工作日功能,因为某些服务在星期五上班,我们只计算工作日来计算到期日。我还在下面的文本中附加了公式,你们是否认为我在使用(OR)和(AND)函数嵌套IF语句方面搞砸了?

=IF(OR(WEEKDAY(IF(A2="Quote",D2+2,IF(A2="Rating",Q2+7,"")))=1,WEEKDAY(IF(A2="Quote",D2+2,IF(A2="Rating",D2+7,""))=7),
IF(A2="Quote",D2+2,IF(A2="Rating",D2+7,""))+2,
IF(A2="Quote",D2+2,IF(A2="Rating",D2+7,""))),
IF(OR(A2="Policy",HOUR(C2<=16),INT(C2)+TIME(23,59,0)),
IF(OR(A2="Policy",HOUR(C2)>16),WORKDAY(D2,1,Lookup!$M$2:$M$20)+TIME(23,59,0),"ERROR"))

Photo of work and columns

1 个答案:

答案 0 :(得分:1)

如果我正确理解了您的要求,那么您应该可以使用=IF(A2="Policy",IF(HOUR(C2)<16,D2,WORKDAY(D2,1)), WORKDAY(D2,IF(A2="Quote",1,IF(A2="Rating",7,0))))

那只是返回一个日期。如果您希望它返回日期时间,请使用以下命令:

=IF(A2="Policy",IF(HOUR(C2)<16,D2+1,WORKDAY(D2,1)+1)-1/1440, WORKDAY(D2,IF(A2="Quote",1,IF(A2="Rating",7,0)))+TIME(HOUR(C2),MINUTE([StartTime]),0))

...返回以下内容:

enter image description here

Due By列的自定义数字格式应用为mmmm d, yyyy h:mm AM/PM