Excel 公式:table 中的重叠日期

Excel Formula: Overlapping Dates in table

我正在执行一项 excel 任务,我必须找出是否存在重叠日期。

在我的 excel 工作中sheet 有开始日期(D 列)和结束日期(E 列)的列,由此我必须确定是否存在重叠日期。

以下公式确定这组开始日期和结束日期是否与 sheet 中的任何其他日期组合重叠。

=SUM(COUNTIFS($A:$A0,$A2,$D:$D0,"<"&$D2)-COUNTIFS($A:$A0,$A2,$D:$D0,"<"&$D2,$E:$E0,"<"&$D2),COUNTIFS($A:$A0,$A2,$E:$E0,">"&$E2)-COUNTIFS($A:$A0,$A2,$E:$E0,">"&$E2,$D:$D0,">"&$E2),IF(COUNTIFS($A:$A0,$A2,$D:$D0,$D2)=1,0,1),IF(COUNTIFS($A:$A0,$A2,$E:$E0,$E2)=1,0,1))>0

当此公式应用于所有行时,无效行在 InvalidDate 列中显示为真值。这些值的逻辑与给出了最终预期值,指示是否存在任何无效日期。

我的 excel 列如下所示:

Name(A)   SD(D)   ED(E) InvalidDate
B   01-03-14    04-03-14    TRUE
B   06-03-14    07-03-14    FALSE
B   05-03-14    05-03-14    FALSE
B   05-02-14    05-02-14    FALSE
B   03-03-14    03-03-14    TRUE
B   17-03-14    18-03-14    FALSE
B   21-02-14    02-03-14    TRUE
B   08-03-14    09-03-14    FALSE
B   10-03-14    15-03-14    FALSE
B   16-03-14    16-03-14    FALSE

SD: Start Date
ED: End Date
Name: Value in Column A (Dates are compared for identical values of this column)

但是,我不能有一个额外的专栏。因此,我需要修改公式,使其 returns 为真,前提是所有日期值都有效。

我不知道如何在不使用该列的情况下进行逻辑与运算。感谢您的想法和努力。

用于计算单行重叠日期范围的公式可以简化:

=COUNTIFS($E:$E,">="&D2, $D:$D,"<="&E2, $A:$A,A2)

要将其更改为布尔值,请在末尾添加 >1

要检查单个单元格中的所有行,您可以将聚合函数与上述公式的数组版本一起使用。例如(用Ctrl+Shift+Enter确认):

=MAX(COUNTIFS($E:$E,">="&$D:$D,$D:$D,"<="&$E:$E,$A:$A,$A:$A))