我试图找到一种方法,根据他们的开始时间和结束时间,计算每天每30分钟有多少人可用。
例如,如果4人在上午7:00进入并在下午3:00离开,3人在早上8:00进入并在下午4:00离开则意味着;
7:00 AM = 4
7:30 AM = 4
8:00 AM = 7
8:30 AM = 7
等等。
但当然,一旦下午3点到这里,它就会是这样的。
2:30 PM = 7
3:00 PM = 3
3:30 PM = 3
等等。
我的第A列带有"开始时间"和B列"退出时间"基于每个人的日程安排
这里有一些样本时间表数据
In Out
7:00 AM 3:00 PM
7:00 AM 1:00 PM
7:00 AM 3:00 PM
7:00 AM 3:00 PM
8:00 AM 1:00 PM
8:00 AM 2:00 PM
8:00 AM 4:00 PM
8:00 AM 4:00 PM
8:00 AM 4:00 PM
8:00 AM 4:00 PM
8:00 AM 4:00 PM
8:00 AM 2:00 PM
8:00 AM 3:00 PM
8:00 AM 4:00 PM
9:00 AM 4:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
9:00 AM 5:00 PM
10:00 AM 6:00 PM
10:00 AM 6:00 PM
10:00 AM 6:00 PM
10:00 AM 6:00 PM
10:00 AM 6:00 PM
然后在D栏上我按以下格式提供所有24小时30分钟的间隔。
12:00 AM
12:30 AM
1:00 AM
1:30 AM
2:00 AM
2:30 AM
3:00 AM
3:30 AM
4:00 AM
4:30 AM
5:00 AM
5:30 AM
6:00 AM
6:30 AM
7:00 AM
7:30 AM
8:00 AM
8:30 AM
9:00 AM
9:30 AM
10:00 AM
10:30 AM
11:00 AM
11:30 AM
12:00 PM
12:30 PM
1:00 PM
1:30 PM
2:00 PM
2:30 PM
3:00 PM
3:30 PM
4:00 PM
4:30 PM
5:00 PM
5:30 PM
6:00 PM
6:30 PM
7:00 PM
7:30 PM
8:00 PM
8:30 PM
9:00 PM
9:30 PM
10:00 PM
10:30 PM
11:00 PM
11:30 PM
我可以手动执行此操作但是我试图通过简化复制粘贴A列和B列中每个人的日程安排来避免这种情况,并将结果显示在E列(D旁边) )
我一直在手动执行此操作,但是更多的人和更多的时间表到了,继续手动计算会更加令人沮丧。
我不介意是否可以使用公式或VBA来完成。
我迄今为止唯一能做的就是COUNTIF每小时开始计划的次数= COUNTIF(A:A,D2)以及每小时结束的次数= COUNTIF(B:B,D2)它只是让其余的手工工作更容易,但除此之外,我无法想到在提到之前做所有事情的方法。
先谢谢,
答案 0 :(得分:1)
尝试在E2中使用COUNTIFS
复制 - 假设同一天的所有班次
=COUNTIFS(A:A,"<="&D2,B:B,">"&D2)
如果你有像18:00-02:00
那样的午夜班次,那就试试这个版本
=SUMPRODUCT(((A$2:A$1000<=D2)+(B$2:B$1000>D2)+(A$2:A$1000>B$2:B$1000)=2)+0)
假设最多1000行数据,请根据需要进行调整