【发布时间】:2019-09-03 15:43:00
【问题描述】:
我正在尝试构建一个现金流电子表格,其中包含一列费用,其中包含数字“到期日”(费用到期的月份)和该费用的金额。
该工作表还包含 2 行日期,即“周开始”和“周末”。
我想创建一个公式来检查费用到期日是否介于周开始和周末之间。如果为真,请将费用放在该列中。如果不是,请将单元格留空(首选)或设置为 0。
我尝试了几个现有的公式,但没有发现任何似乎有效的方法。
附加的屏幕截图显示了我正在尝试完成的布局。
更新!已解决
我能够通过这种方式解决问题。优雅吗?我不知道!但是,我能够使用这个公式来实现它。它通过解析日期 (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
【问题讨论】:
-
你试过什么公式?通常,您可以使用比较运算符(
>、>=、<等)来查看日期是否介于两个日期之间。 -
我用基本的 IF 语句尝试了几乎所有的东西。最大的问题是,[到期日期] 不是实际日期。我的目标是能够说“这笔费用应在第一天(无论月份)到期,然后检查该费用是否在该列的一周内,如果是则显示 [Amount]。我尝试了 arrayformulas 和其他几件事,但我似乎找不到正确的解决方案。
-
例如,这是使这项工作的最新尝试。仅当 [截止日期] 数字是截止日期之前的数字时,这似乎才有效... =IF(ARRAYFORMULA(DAY(D$2:D$3))=DAY($B6),$C6,"")