我正在计算我们的工作完成日期,我想认为我对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"))
答案 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))
...返回以下内容:
Due By列的自定义数字格式应用为mmmm d, yyyy h:mm AM/PM