计算给定时间范围内落入区间内的每个 'x'?

Count for every 'x' that falls into an interval within a given time range?

我希望获得一个时间范围内每小时有空的人数。

Employee Start Time End Time
Emp name 8:30 AM 10:30 AM
Emp name 8:30 AM 10:45 AM
Emp name 8:00 AM 10:15 AM

如果我要统计上午 9:45 有空的员工人数,我应该得到 3 个。或者我可能想要间隔 15 分钟并想知道我在 8:15 的人数,这会是 1.

目前我的解决方案是使用以下公式为一天中的每个小时制作一个 table,为员工有空的每个小时添加一个计数:

=IF(AND($G9>=R,$G9<S),1,IF(AND(R>$G9,R<$H9),1,""))

我得到的东西看起来像这样:

Start Time End Time 8:00 AM 9:00 AM 10:00 AM 11:00 AM
8:30 AM 10:30 AM 1 1

最后我可以旋转它或计算它以获得我的总数。

有没有更优雅的解决方案?最好是一个允许我改变间隔但仍然给我一个准确计数的。如果我不需要建立间隔 table.

就更好了

我愿意使用 VBA 或公式。

总的来说,这个问题叫什么?我想在空闲时间查找pythonic解决方案进行一些自学。

如果每一行代表不同的员工,那么只需使用 COUNTIFS:

=COUNTIFS(B:B,"<="&E2,C:C,">="&E2)