我有一个 Excel 表,其中包含开始日期、开始时间和结束时间的电话。我想找到一种方法来循环呼叫,以查看每次呼叫期间我们有多少电话中继正在使用中。可能有更好的方法来检查这一点,但这是我正在考虑使用的逻辑。
在单元格 C1 中,我有本月第一次通话的开始时间。在 D1 中,我有该通话的结束时间。我知道在第一次呼叫开始时,只有一个中继在使用。我需要遍历每个呼叫,以查看当前检查呼叫之前的任何呼叫的结束时间是否大于当前检查呼叫的开始时间。
因此,工作真正从第二行开始,并检查 C2(呼叫 2 的呼叫开始时间)是否 < D1(呼叫 1 的结束时间)。
下一个循环将检查 C3 < D1,然后检查 C3 < D2。如果任何检查为真,则名为 Trunks 的值(起始值为 1)将增加 1。一旦行检查完成,Trunks 将被写入与被检查行对应的列 E。
下一个循环将检查 C4 < D1 然后 C4 < D2 然后 C4 < D3 并将中继的值写入 E4
然后到 C5,依此类推,直到工作表结束。工作表的行数为 12,000 到 15,000 行。
这可以通过VBA中的子来完成吗?谁能帮我写这个子?以下是 C1 - C11 和 D1 - D11 的值。在下面的示例中,在您到达第 7 行之前,每行中的中继值将是 1。因为第 7 行(6:10:05)中呼叫的开始时间小于第 6 行呼叫的结束时间( 6:10:59),这意味着两个呼叫同时发生,因此中继线等于 2。
C1 2:44:00 AM D1 2:45:08 AM
C2 3:30:15 AM D2 3:33:10 AM
C3 4:02:50 AM D3 4:04:12 AM
C4 4:48:15 AM D4 4:48:32 AM
C5 6:02:25 AM D5 6:03:57 AM
C6 6:08:54 AM D6 6:10:59 AM
C7 6:10:05 AM D7 6:10:34 AM
C8 6:10:05 AM D8 6:10:41 AM
C9 6:23:30 AM D9 6:29:07 AM
C10 6:36:28 AM D10 6:39:54 AM
C11 7:16:56 AM D11 7:24:56 AM
提前致谢!