Excel-在连续的时间轴上绘制时隙

问题描述

比方说,我们记录了生产线在其中运行的时间段。在制造的每个产品之间是机器空闲的时隙。 我现在想绘制一段时间内的机器状态,基本上是一个布尔值(运行vs空闲)。

I get the machine log and need the chart on the right

我得到了机器日志,并需要右侧的图表。

最终会记录加工时间,包括秒数,并且每种产品可能会有所不同。

对我来说,第一个(可能是最大的)挑战是找到一种从时间戳中提取状态的明智方法。我当前的第一步是为每分钟创建一个表行,并使用H4中的if语句检查是否正在制造商品1。 IF(AND([@Time]>Machine_log[@Start],[@Time]<Machine_log[@Finish]);;)

但是,由于最终列表的范围将超过24小时或更多,并且文章数量很快达到50个或更多,所以我希望避免在此列表上使用嵌套的IF。

我非常感谢您的任何投入,并欢迎给予启发:) 预先谢谢大家!

PS:与每个X值两个值的散点图一起显示为垂直线/直角like this?

的人,谁都比这更好的方法

解决方法

一种选择是仅将状态提取表(我称为“状态”)中必需的那些点添加。 (我将计算机日志表命名为“ Log”。)

注意:看来您正在使用分号列表分隔符,因此您需要将以下公式中的逗号更改为分号。

Time列的公式:

=IF(ROW()=ROW(Status),MIN(Log[Start])-1/144,IFERROR(INDEX(Log[[Start]:[Finish]],INT((ROW()-ROW(Status)-1)/4)+1,MOD(INT((ROW()-ROW(Status)-1)/2),2)+1),MAX(Log[Finish])+1/144))

Production running?列的公式(输入H4并填写):

=IF(SUMPRODUCT(--(Log[[Start]:[Finish]]=[@Time])),IF([@Time]=G3,3-H3,H3),1)

这些公式将使您的情节在两侧有10分钟的休息时间。

要回答有关为每个x值避免两个点的问题:不,绘图上的每个点都必须具有一个对应的数据对。

更新以回应评论:我没有提到上述解决方案假定Machine日志表中的时间数据按升序排列。这意味着,如果您的数据跨越一天以上,则它们将需要包含一个日期成分,否则您将获得线与起点交叉的图。例如,如果您有23:57:00,然后是00:10:00,且没有日期部分,则Excel会将其视为1900年1月1日晚上11:57,1900年1月1日上午12:10。(要查看,将格式更改为“常规”,您将看到Excel用于编码日期时间的值不是按升序排列。)解决方案是将日期输入为“ 8/16/2020 23:57:00 ”和“ 8/17/2020 00:10:00”。如果要从另一个数据源进行复制,则需要将日期和时间一起复制。如果日期和时间在单独的列中,则“开始”和“完成”列将分别是日期列和时间列。