【问题标题】:Check if Day Number falls within date range Excel检查天数是否在日期范围内 Excel
【发布时间】:2019-09-03 15:43:00
【问题描述】:

我正在尝试构建一个现金流电子表格,其中包含一列费用,其中包含数字“到期日”(费用到期的月份)和该费用的金额。

该工作表还包含 2 行日期,即“周开始”和“周末”。

我想创建一个公式来检查费用到期日是否介于周开始和周末之间。如果为真,请将费用放在该列中。如果不是,请将单元格留空(首选)或设置为 0。

我尝试了几个现有的公式,但没有发现任何似乎有效的方法。

附加的屏幕截图显示了我正在尝试完成的布局。

enter image description here

更新!已解决

我能够通过这种方式解决问题。优雅吗?我不知道!但是,我能够使用这个公式来实现它。它通过解析日期 (MM/DD/YYYY) 的日 (DD) 部分来检查 [Due] 与 [Week Start] 和 [Week End]。

=if( mid([Week Start],4,2)<mid([Week End],4,2), 
    if(AND( [Due]<=value(mid([Week End],4,2)), $B37>=value(mid([Week Start],4,2)) ), [Amount],""),
    if(OR( [Due]<=value(mid([Week End],4,2)), $B37>=value(mid([Week Start],4,2)) ), $[Amount],"") 
)

其中包含单元格引用的示例:

=if( mid(FI$1,4,2)<mid(FI$2,4,2), 
    if(AND( $B37<=value(mid(FI$2,4,2)), $B37>=value(mid(FI$1,4,2)) ), $C37,""), 
    if(OR( $B37<=value(mid(FI$2,4,2)), $B37>=value(mid(FI$1,4,2)) ), $C37,"")
)

[到期] 语法 -> 00

[金额] 语法 -> $00.00

[周开始] -> MM/DD/YYYY

[周末] -> MM/DD/YYYY

【问题讨论】:

  • 你试过什么公式?通常,您可以使用比较运算符(&gt;&gt;=&lt; 等)来查看日期是否介于两个日期之间。
  • 我用基本的 IF 语句尝试了几乎所有的东西。最大的问题是,[到期日期] 不是实际日期。我的目标是能够说“这笔费用应在第一天(无论月份)到期,然后检查该费用是否在该列的一周内,如果是则显示 [Amount]。我尝试了 arrayformulas 和其他几件事,但我似乎找不到正确的解决方案。
  • 例如,这是使这项工作的最新尝试。仅当 [截止日期] 数字是截止日期之前的数字时,这似乎才有效... =IF(ARRAYFORMULA(DAY(D$2:D$3))=DAY($B6),$C6,"")

标签: excel date range


【解决方案1】:

您可能想要调整小于或等于/大于或等于,以更好地满足您的需求,但这里是要添加到您的表格中的公式。

=if(and([start Date]&lt;=[Due Date],[End Date]&gt;=[Due Date]),[Expense],0)

开始日期 = 参考开始日期单元格

截止日期 = 参考截止日期单元格

结束日期 = 参考结束日期单元格

费用 = 参考费用单元格

【讨论】:

  • 谢谢马克!我已经尝试过了,但不幸的是(大多数情况下)它并没有返回 true,因为 [Due Date] 只是一个数字,而不是一个特定的日期。意思是 1 不是 >= 26,即使日期确实在 12/26 和 1/1 的范围内。
【解决方案2】:

好吧,如果有更聪明的方法可以做到这一点,我不知道它是什么。但这似乎可行(尚未经过严格测试):

=if(AND(day(D$3)-day(D$2)<6,day($B6+1)<6),$C6,if(AND(day(D$3)>=day($B6+1),day(D$2)<=day($B6+1)),$C6,""))

【讨论】:

    【解决方案3】:

    我遇到了同样的问题。这是我想出的。

    =IF(AND(D$1<=DATE(YEAR(D$1),IF(DAY(D$1)<=--$B6,MONTH(D$1),MONTH(D$1) + 1),$B6),D$1 + 7 > DATE(YEAR(D$1),IF(DAY(D$1)<=--$B6,MONTH(D$1),MONTH(D$1) + 1),$B6)),$C6,"")
    

    D1 = 开始日期

    C6 = 金额

    B6 = 截止日期

    1 周

     D$1 + 7 
    

    2 周

     D$1 + 7 * 2 = 2 weeks 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多