检测Excel工作表中的时间范围重复

时间:2014-09-30 07:46:52

标签: sql excel vba

我在excel中有一个包含以下内容的计划表:

Task - Begine Time - End Time
A    - 10:00       - 10:30
B    - 10:35       - 11:44
C    - 10:20       - 11:15
D    - 12:00       - 13:12

我想创建一个公式来检测任务是否在另一个任务时间内安排; 例如:任务C在任务B运行时开始。

由于

3 个答案:

答案 0 :(得分:1)

解决此问题的最佳方法是将任务按开始时间顺序排序,然后按结束时间排序,然后您可以检查上面一行中的完成时间晚于当前开始时间的每个开始时间。行,然后你有重叠。

 (Col)(A)    (B)           (C)      
(Row) Task - Begin  Time - End Time - Okay?
(1)   A    - 10:00       - 10:30    - 
(2)   C    - 10:20       - 11:15    - =B2 > C1
(3)   B    - 10:35       - 11:44    - =B3 > C2
(4)   D    - 12:00       - 13:12    - =B4 > C3

答案 1 :(得分:0)

根据您的问题,我不确定您是否需要SQL,VBA或公式解决方案,因此请提供一个供考虑的图表:

SO26115451 example

答案 2 :(得分:0)

在表中添加另一列,以检查每项任务的开始时间是否在任何其他任务结束之前以及在这些任务开始之后发生:

Task    Start   End Clash?
a   10:00   10:30   0
b   10:35   11:44   1
c   10:20   11:15   1
d   12:00   13:12   0

我在“冲突”中提出的公式?专栏如下:

= SUMPRODUCT(N([开始]的百分比抑制率@开始]),N([结束]> [@开始]))

希望有所帮助!