【问题标题】:How can I get Average Per hour excluding 10+ Minute differences我怎样才能得到平均每小时不包括 10+ 分钟的差异
【发布时间】:2013-07-05 16:26:08
【问题描述】:

我有一个时间列表。每次操作完成时,它都会将它发生的时间添加到日志文件中。我想获得行动/小时的平均值。但我不想在动作之间的间隔大于 10 分钟的时间内进行平均。

例如:

   +--------------------+
    11:09 AM    |      
   +--------------------+
    11:02 AM    |      
   +--------------------+
    10:57 AM    |      
   +--------------------+
    10:50 AM    |4 actions 29 minutes - *12:04-10:50 = 1 hour 14 minutes >= 10 minutes 
   +--------------------+
    12:04 PM    |      
   +--------------------+
    12:01 PM    |      
   +--------------------+
    12:01 PM    |      
   +--------------------+
    11:56 AM    |      
   +--------------------+
    11:56 AM    |      
   +--------------------+
    11:55 AM    |      
   +--------------------+
    11:55 AM    |      
   +--------------------+
    11:55 AM    |8 actions 9 minutes *1:19-11:55 = 1 hour 24 minutes >= 10 minutes
   +--------------------+
    1:19 PM     |      
   +--------------------+
    1:18 PM     |      
   +--------------------+
    1:18 PM     |      
   +--------------------+
    1:17 PM     |      
   +--------------------+
    1:17 PM     |      
   +--------------------+
    1:16 PM     |      
   +--------------------+
    1:16 PM     |      
   +--------------------+
    1:16 PM     |8 actions 3 minutes *1:16-1:06 = 10 minutes >= 10 minutes
   +--------------------+
    1:06 PM     |      
   +--------------------+
    1:06 PM     |      
   +--------------------+
    1:06 PM     |      
   +--------------------+
    1:06 PM     |      
   +--------------------+
    1:06 PM     |      
   +--------------------+
    1:06 PM     |6 actions 1 minute *End of Data Sample
   +--------------------+

26 个动作在 42 分钟内完成(37.1 个动作/小时)

不是

26 个动作在 1 小时 57 分钟内完成(13.3 个动作/小时)

我会更喜欢基于公式的答案,但如果不可能,那么 VBA 也可以。

编辑额外样本

我想要在任何随机小时的时间长度内记录多少个动作的平均值,但我不想包括间隔超过 10 分钟的动作之间的任何时间跨度。

因此,如果从 1:15-5:45 我们执行 1125 “动作”,而从 6:30-7:30 我们在 5.5 小时内完成 300 个“动作”,即 1425 个“动作”

从 (1:15-5:45) 或 4.5 小时加 (6:30-7:30) 或 1 小时,总共 5.5 小时1:15-7:30)或 6.25 小时

但是,如果我们将 5:45 到 6:30 之间的时间包括在内,那么平均 228“行动/小时”会比实际平均使用时间低得多。希望这有助于消除任何困惑

【问题讨论】:

  • 从您的样本数据中不清楚您的“每小时”度量的起点和终点在哪里。例如,您的最后两次计数似乎是在同一小时内?
  • @TimWilliams 我道歉,问题不在于一小时有多少,而是每小时有多少,就像在所有的连续动作中一样,或者每个小时的任何随机样本平均完成了多少,例如,如果您的汽车以 65 英里/小时的速度行驶,您可以在 1-2 或 3:30-6:30 开车,它不必在同一小时内获得平均每小时英里数。我还为我的问题添加了一个不同的示例。
  • @user2140261 .. 你已经知道怎么做 .. 把它变成代码 ..
  • @matzone 是的,我添加了一个答案,我只是从错误的角度看待这个问题。

标签: vba excel excel-formula average


【解决方案1】:

好的,所以我清楚地从一个完全错误的角度看待这个问题,出于某种原因,我认为我必须得到每次除以 10 分钟差异的次平均值,然后得到平均值。

然后我醒了一点,意识到我需要做的就是获取浪费的时间,然后将其从样本的总时间中删除!

不知道我是怎么看待这么简单的想法的,但是嘿,我该怎么办。

所以,如果我错了,请纠正我,因为我没有时间,也没有时间,所以我还没有完全解决这个想法。

但这是一个非常粗略的示例,说明我认为我需要做些什么才能得到答案,如果我遗漏了什么,请告诉我,或者在我得到它之前随时清理并将这些东西组合成更简单的形式在您自己的答案中,唯一的先决条件是确保所有时间都按最新到最旧到最新排序,Witch 我的数据会自动设置为查看,因为它是未修改的日志,时间来自输入的时间。

【讨论】:

  • 您是在回答中对您的时间进行了排序,还是像在您的问题中一样保留它们?
  • @Jerry 答案最后一行,时间排序。
  • 逻辑不一样?我的意思是,在第一个问题中,你从上午开始,经过下午,回到上午,再回到下午。现在,如果您从上午 11:01 开始,到下午 12:12,到上午 11:09、上午 11:18 再到下午 12:14,该怎么办。在您的初始工作表中,这将在 1+1+9+1= 12 分钟内产生 5 个动作,而在排序后,这将在 17+2 = 19 分钟内产生 5 个动作(从上午 11:01 到上午 11:18 和两个 1 分钟的动作)。
  • @Jerry 根本不是,要求的不是按顺序执行的操作,而是彼此在 10 分钟内执行的操作,因此无论您如何查看 11:01 的数据,无论其中有什么数据之间,距离 11 点 09 分仍在 10 分钟的时间跨度内,因此仍应一起计算。如果该数据未排序,则如果高于/低于活动范围的范围在其未排序的 10 分钟内,则公式仍需要计算。
  • 但是你提出了一个很好的观点,即一个没有时间的单一动作不会被考虑,绝对不是一分钟。我可能会添加一些条件来忽略围绕它的操作前后 >= 10 分钟的任何单个操作。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2020-06-01
  • 2018-04-05
  • 2020-06-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多