我有一份 Excel 表,上面记录了一些工作(或任何项目/操作)及其开始和结束日期。现在,我需要知道一天中每一分钟有多少工作处于活动状态。
因此输入如下所示:
Jobname | Start | End
---------------------------------------------------
JobA | 04/10/2015 08:00:00 | 04/10/2015 09:00:00
JobB | 04/10/2015 10:00:00 | 04/10/2015 10:00:59
JobC | 04/10/2015 10:00:00 | 04/10/2015 11:00:00
输出应如下所示:
笔记:只是为了清楚起见添加了作业名称,在实际输出中,我只对每分钟活跃的作业数量感兴趣,而不是哪些作业处于活跃状态
Time | Number of active jobs
---------------------------------------------------
04/10/2015 00:00:00 | 0
[..]
04/10/2015 08:00:00 | 1 (JobA)
04/10/2015 08:01:00 | 1 (JobA)
[..]
04/10/2015 09:00:00 | 1 (JobA)
04/10/2015 09:01:00 | 0
[..]
04/10/2015 09:59:00 | 0
04/10/2015 10:00:00 | 2 (JobB, JobC)
04/10/2015 10:01:00 | 1 (JobC)
[..]
04/10/2015 11:00:00 | 1 (JobC)
04/10/2015 11:01:00 | 0
[..]
04/10/2015 23:59:00 | 0
有人能帮我如何使用 Excel 进行这种数据转换吗?谢谢!
答案1
活跃职位数量
您可以使用以下方法计算行数:
=COUNTIFS(Table1[Start],"<="&[@Time],Table1[End],">="&[@Time])
上述公式仅当数据范围为桌子(按 将范围转换为表格Ctrl+T
)命名Table1
(按 重命名Alt, m, n
),并且您想要的输出范围也是一个表格。
如果不将范围转换为表格,则应该引用A1
单元格或B:B
整个列的范围。
时间
该列包含分钟。第一行输入的是您想要的第一个分钟。在后续行中,可以通过将一分钟添加到前面的行来计算分钟:
=A2+TIME(0,1,0)
评论
- 使用
COUNTIFS
可能非常慢的。 - 我不确定增加一分钟是否会累积浮点错误在任何案件。
- 如果您的数据确实与您输入的内容相似(分隔带有竖线),你可能还需要文本分列
Alt, A, E
。