计算给定时间范围内落入区间内的每个 '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)
我希望获得一个时间范围内每小时有空的人数。
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)