【问题标题】:EXCEL formula if conditionEXCEL公式if条件
【发布时间】:2021-07-23 11:49:47
【问题描述】:

有没有办法简化图片中的以下公式,如果“实际付款日期”落在任何假期日期,您如何包含将“实际付款日期”也移动到第二天的条件?

=F106+IF($C$100="Next",IF(TEXT(G106,"DDD")="Sat",2,IF(TEXT(G106,"ddd")="Sun",1,0)),IF($C$100="Previous",IF(TEXT(G106,"ddd")="Sat",-1,IF(TEXT(G106,"ddd")="Sun",-2,0)))) 

【问题讨论】:

  • 不包括公式,以下或其他任何地方。
  • 对嵌套的 if-then-else 条件使用 =IFS()
  • 公式在图中;目前我有如下: =F106+IF($C$100="Next",IF(TEXT(G106,"DDD")="Sat",2,IF(TEXT(G106,"ddd")="Sun ",1,0)),IF($C$100="Previous",IF(TEXT(G106,"ddd")="Sat",-1,IF(TEXT(G106,"ddd")="Sun" ,-2,0))))

标签: excel if-statement formula


【解决方案1】:

我们可以使用 WORKDAY 来返回下一个或上一个工作日,它包含一个接受假期日期范围的条件:

=IF($C$100="Next",WORKDAY(F106-1,1,$L$106:$L$110),WORKDAY(F106+1,-1,$L$106:$L$110))

$L$106:$L$110 是您的假期日期范围。

【讨论】:

  • 谢谢你,Scott,这个公式能否包含额外的假期日期范围,例如来自不同国家的假期?
  • 您可以包含一个嵌套的 if 以返回正确的范围,即:代替 $L$106:$L$110 您将使用:IF($ZZ$1="UK",$L$106:$L$110,IF($ZZ$1="USA",$H$106:$H$110)) 并为其他国家/地区嵌套更多。
  • 最好的办法是用自己的minimal reproducible example 创建一个新问题,这超出了这个问题的范围。
  • 我使用了以下公式,但它不适用于第二和第三个有假期的国家; -1 和 +1 是什么意思? =IF($1C$100="下一个",WORKDAY(F106-1,1,IF($L$105="英国",$L$106:$L$138,IF($O$105="US",$O$106 :$O$142,IF(R105="卢森堡",$R$106:$R$140))))),工作日(F106+1,1,IF($L$105="英国",$L$106:$L $138,IF($O$105="US",$O$106:$O$142,IF(R105="LUXEMBOURG",$R$106:$R$140)))))
  • 我假设您选择了要使用的假期,这意味着##="SomeCountry" 部分应该引用同一个单元格,并且可以更改该单元格以选择他们想要的假期。如果您想将它们全部包含在内,则只需将它们放在同一范围内并引用完整范围即可。
猜你喜欢
  • 1970-01-01
  • 2017-08-11
  • 1970-01-01
  • 2017-04-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-07-11
  • 1970-01-01
相关资源
最近更新 更多