计算当时的占用资源?

时间:2016-09-05 08:54:49

标签: excel

我在Excel中有四列,即:

  1. 应用的开始时间

  2. 应用程序的结束时间

  3. 占用资源

  4. 例如,

    Start time    End time    Occupied resources
    
    0             30          10
    20            70          10
    30            50          25
    

    根据这些信息,我必须根据时间生成有关系统中总占用资源的信息。

    因此,对于每个应用程序的开始,当时占用的资源数量是多少?我不能对第三列进行简单的求和,因为应用程序在结束时离开了资源。有什么建议吗?

    修改

    我的预期输出将是第四列,其中列出了那个" starttime"的占用资源数量。因此,对于上面的示例,输出将是:

    开始时间TotalOccupiedAfterStart结束时间占用资源

    0              10                       30          10
    20             20                       70          10
    30             35                       50          25
    

    所以在开始时间' 0'第一个应用程序获得10个资源。在开始时间' 20',第二个应用程序获得10个资源。此时系统的状态为20,因为第一个应用程序尚未根据其结束时间结束。在开始时间30,第三个应用程序获得25个资源但我们看到第一个应用程序在" 30"第二个应用程序仍按其结束时间运行。因此,启动时30的总占用资源为25。

2 个答案:

答案 0 :(得分:1)

SUMIFS有两个条件(开始时间和结束时间)将为您提供所需的结果。 SUMIFS将第一个参数作为总结的范围;第二个(第4,第6,第8 ......)参数是标准范围(该范围将再次检查标准);第三个(第5个,第7个,第9个......)参数是标准本身(要么是在标准范围内寻找的值,要么是带有比较运算符的字符串,例如"< 10")

假设您的问题中显示的数据是表格,则以下公式使用structured references / table formulas。列TotalOccupiedAfterStart的公式应为:

=SUMIFS([Occupied resources], [Start time], "<="&[@[Start time]], [End time], ">"&[@[Start time]])

编辑:扩展以提供更详细的解释

我们希望计算[Occupied resources]中当前行[@[Start time]][Start time][End time]范围内的所有值的总和。这是Excel SUMIFS的完美工作,Excel描述如下:

  

SUMIFS(sum_range, criteria_range1, criteria1, ...)

     

添加由给定条件或标准组指定的单元格。

第一个参数是包含我们想要总结的值的范围。所以我们在这里提供了[Occupied resources]列。对于其余的参数SUMIFS总是需要对:要检查的范围( criteria_range ),以及测试该范围的值或条件(标准 )。

要查看某行的开始时间是否在另一行的开始和结束时间之间,我们需要检查是否符合以下两个条件:

  1. 当前(app1)的开始时间必须大于或等于我们正在测试的行的开始时间(app2) = app2在app1之前或同时启动
  2. 当前开始时间必须小于我们正在测试的行的结束时间 = app2在app1启动后关闭
  3. 因此,对于第一个条件,需要检查的范围( criteria_range )是具有所有开始时间和&#34;小于或等于当前开始时间的列#34;是标准。我们的第一组 criteria_range 条件是:

    [Start time], "<="&[@[Start time]]
    

    对于第二个条件,需要检查的范围是具有所有结束时间和&#34;大于当前开始时间的列#34;是标准。这使得第二组 criteria_range 条件

    [End time], ">"&[@[Start time]]
    

    把它们放在一起我们有

    1. 包含要汇总的值的范围
    2. 要检查第一个条件的值范围
    3. 第一个条件
    4. 要检查第二个条件的值范围
    5. 第二个条件
    6. =

      =SUMIFS(
          range with the values to be summed up,
      
          range of values to be checked for the first condition,
          first condition,
      
          range of values to be checked for the second condition,
          second condition
      )
      

      =

      =SUMIFS(
          [Occupied resources],
      
          [Start time],
          "<="&[@[Start time]],
      
          [End time],
          ">"&[@[Start time]]
      )
      

答案 1 :(得分:1)

如果您的开始时间,结束时间和占用资源位于从第2行开始的A,B和C列中,则总资源将为

=SUMIFS(C$2:C$9,A$2:A$9,"<="&A2,B$2:B$9,">"&A2)

即。将每个应用程序的开始和结束时间与当前行的开始时间进行比较。

是否放置&gt; =或&gt;取决于您是否认为第一个应用程序仍在t = 30运行或刚刚完成。

enter image description here