【问题标题】:How to calculate results and plot data depending on results of a specific column in excel?如何根据excel中特定列的结果计算结果和绘制数据?
【发布时间】:2015-06-10 21:01:25
【问题描述】:

我有一个 .csv 文件,其中包含数千行。我收集了这个数据文件作为运行我的程序 60 分钟的输出。此输出文件包含时间列(在论坛 HH:MM:SS:MS 中),此时间列是记录我的输出的时间。我想根据我的时间列在我的 output.csv 文件中绘制我的其他列(每 1 分钟获取所有列的结果)。

例如:

我有这样的一行:

Data             Time
-----                 -----
455              10:00:00
894              10:00:00 
785              10:00:00
898              10:00:01
789              10:00:01
748              10:00:02
248              10:00:02
788              10:00:02
148              10:00:02
742              10:00:02
...              ...
266              10:01:00
...              ...

是否有任何简单的方法可以根据时间列绘制其他列的行(每 1 分钟获取所有列的结果)?

【问题讨论】:

  • monitor 是什么意思?你期望输出是什么?每 15 分钟一个结果?如果是这样,你会找到this related post helpful
  • 我编辑了帖子,通过单词监控我的意思是从输出中获取结果。预期输出将“每分钟收集的数据”。当我运行程序 60 分钟时,我需要获取“运行程序 60 分钟的前 15 分钟的每分钟数据”。

标签: excel vba


【解决方案1】:

虽然问题并不完全清楚/一致,但我知道您想计算前 15 个间隔中每个间隔的数据数

10:00 <= time < 10:01
etc.

对于第一个区间,可以使用

=SUMPRODUCT(($B$2:$B$8>=TIME(10;0;0))*($B$2:$B$10000<TIME(10;1;0)))

我假设您的时间数据在B2:B10000 中。 您可以根据需要扩展此范围,超出范围没有问题(不会计算空白单元格)。 或者你可以使用

=SUMPRODUCT(($B:$B>=TIME(10;0;0))*($B:$B<TIME(10;1;0)))

您可以轻松地创建一列,其中包含每个间隔的开始时间,并使用(修改)此公式来计算数据计数。

然后您将绘制刚刚创建的两列。

【讨论】:

  • 首先感谢您的回复。是的,您完全理解问题所在。但我有时间问题,问题是时间 B2 不固定为 B10000 它是可变时间,我不知道它的结束。它可能 B10000 或更少或更多。时间的第二次计算将从 B10000:B10055 开始。有没有办法在excel中计算这样的不稳定时间?
  • @medo0070 - 请参阅编辑后的答案。第二个区间仍将使用相同的输入范围,这就是绝对引用(使用$)的用途。
  • 感谢您的帮助,它帮助了我:)
猜你喜欢
  • 1970-01-01
  • 2017-11-23
  • 1970-01-01
  • 2022-10-03
  • 2019-08-18
  • 2019-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多