我有一个简单的电子表格,其中每一行都包含某个东西被打开和关闭的时间(24 小时)。所以它看起来像这样:
10:20:15 10:25:36
11:09:02 11:15:54
13:00:38 13:01:15
16:35:44 16:48:31
因此,某个设备在 10:20AM 开启,并在 10:25AM 再次关闭。然后在 11:09AM 再次开启,并在 11:15AM 再次关闭。
我想在(每日)图表中显示这一点,其中 x 轴显示 24 小时。如下所示:
这可以在 OpenOffice 中自动完成吗?或者通过脚本?或者其他程序(离线或在线)?
答案1
看起来您需要根据数据中的时间开始和停止的可变宽度条。一种方法是使用 XY 图表:
如果需要的话,您可以使外观更像您的示例:
- 隐藏 Y 轴标签并使用轴标题或文本框标记“开”和“关”。
- 手动设置 X 轴的最小和最大时间以及网格间隔。您还可以将时间值转换为小时,并将小时绘制在 X 轴上(请注意,分钟需要转换为小时的小数,因此请使用将存储的时间值乘以 24 之类的方法)。
- 如果您希望填充条形图,可以手动添加彩色矩形。
怎么运行的
公式为每个开始时间创建0
和值,为每个停止时间创建和值。该图是带有线但没有点的 XY 图表。1
1
0
时间列表是使用以下公式在 D1 中创建的:
=OFFSET($A$1,CEILING(ROW()/4)-1,ROUND(MOD(ROW()-1,4)/4,0))
这从第一个值开始,然后按行和列偏移以获取正确的时间并为每个值创建两个值(0
和1
)。
0
和条形值1
是使用以下公式在 E1 中创建的:
=MOD(ROUND(MOD(ROW()-1,4)/4,0)+1-MOD(ROW(),2),2)
请注意,我将其保持简单以专注于方法。如果您的数据不是从第 1 行开始,则需要调整基于行的公式。另外,请注意仅将公式填充为数据行数的 4 倍。除此之外,公式将拾取“零”或午夜的时间。如果您想变得花哨,您可以内置错误检查。