首页 > 解决方案 > 工作日和工作日公式在计算实际到期日方面给出了价值错误

问题描述

我正在计算我们的工作完成日期,我想我对 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"))

工作和专栏的照片

标签: excelexcel-formula

解决方案


如果我正确理解了您的要求,那么您应该可以使用=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))

...返回这个:

在此处输入图像描述

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


推荐阅读