excel - 工作日和工作日公式在计算实际到期日方面给出了价值错误
问题描述
我正在计算我们的工作完成日期,我想我对 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"))
解决方案
如果我正确理解了您的要求,那么您应该可以使用=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
推荐阅读
- javascript - 如何将 material-ui ServerStyleSheets 与 getStaticProps 一起使用?
- python - Dataframe.agg(f) 和 Dataframe.agg('f') 有什么区别
- reactjs - MUI v5 Typescript makeStyles 从不返回
- php - 如何将不存在的数据页面重定向到 Codeignitor 中未找到的页面?
- amazon-web-services - 如何从 Lambda 函数正确地将数据添加到 AWS amplify DynamoDb
- python - 如何在 Pandas 中限制从“羽毛”文件中读取的行数?
- google-cloud-spanner - Spanner 客户端是否支持批量插入?
- javascript - 多个字符串匹配而不使用javascript中的每个函数
- azure-data-explorer - 表查询慢 | 哪里 x | 按时间戳排序 | 不同的 a,b,c,d | 桌子大时取 20
- linux - 在 SUSE linux 中检查可升级包列表的命令是什么?