见下面的例子。
我需要显示真值和假值,如示例所示。
逻辑需要确保"开始和结束"属于该列时间段。因此,D栏的时间段为12月9日至14日,下一栏(E)将于12月15日至20日,依此类推。可以将其视为显示时间范围的甘特图。
答案 0 :(得分:5)
这是我的版本
=AND(D$1<=$B2,E$1-1>=$A2)
请参阅:Check if two date ranges overlap
注意:使用De Morgan's Law
,上面的公式可以显示为与“NOT”形式相同还可以进一步简化
=AND(D$1<=$B2,E$1>$A2)
答案 1 :(得分:3)
现在我看到日期范围是由第1行中的值定义的,并且根本没有涉及周概念,我更改了公式:
因此,如果您将此公式放在D2
中并将其复制到范围内,您将获得结果。
=OR(AND(D$1 >= $A2, D$1 <= $B2),
AND(E$1 > $A2, E$1-1 <= $B2),
AND(D$1 <= $A2, E$1 > $B2))
您只需添加一个条件格式来获取颜色即可。
编辑:这可以像Tom Sharpe发布here:
一样真正简化=AND(D$1<=$B2,E$1-1>=$A2)
答案 2 :(得分:1)
根据Tom的评论(http://chandoo.org/wp/2010/06/01/date-overlap-formulas/),单元格D2的简化公式为:
=NOT(OR($A2 >= E$1, $B2 < D$1))
这适用于日期时间或任意数字,而不仅仅适用于全天日期。
第一行中您需要的列数多于检查的间隔数。