【问题标题】:Using Excel to Sum Ranges of Cells That Meet Certain Criteria使用 Excel 对满足特定条件的单元格范围求和
【发布时间】:2016-07-11 19:59:58
【问题描述】:

这是一个更好的更新。我已经包含了一个截图,说明了我正在尝试做的事情。我正在尝试编写一个自动执行此操作的函数,而不是我必须手动完成所有操作。


我有一个包含 6,568 行数据的 Excel 工作表。对于其中一列,E,我正在尝试为流速降至 5 以下的所有时间创建小计。我已经包含了一个屏幕截图作为示例。

我想要做的是创建一个函数,它扫描整个 E 列并总结 E 列的值低于 5 时的时间(A 列)。

我认为当一个 IF 语句时我可以这样做,但我认为这不是最好的方法。也许是“SUMIF”,但我认为这也不对。这是更适合 VBA 的东西吗?

这是我开始的:

IF(E2270<5, IF(E2271<5), blah blah blah)

我在这里有点难过。任何帮助表示赞赏。

编辑

这是带有标题的屏幕截图

【问题讨论】:

  • 我不确定你想总结什么。是E列出现的数字,还是要数E列小于5的次数?您是否尝试过 =COUNTIF(E:E,"
  • 我需要总结的是时间。所以,我需要获取流速低于 5 的时间段,并报告它低于 5 的时间。这更有意义吗?类似这样的:“在以下时间,照明弹没有运行:10:25 到 11:25 1 小时,13:02 到 13:06 4 分钟”,诸如此类。
  • 一点。在屏幕截图中包含标题会更有帮助。 A列不是时间,所以我认为你不能总结。此外,求和时间似乎并没有太大帮助。你想总结两个时间点的差异吗? If E2270 is less than 5 计算 C2270 和 F2270 之间的时间差。
  • 是的,我在这里寻找时间范围。因此,我需要报告火炬未运行的所有时间(为简单起见,我们说的是当流量低于 5 时)以及火炬未运行的每个时间段的持续时间。我回去并附上了带有标题的屏幕截图。
  • 好的。越来越近。让我们专注于您的第二个屏幕截图。从第 2 行(即 0)开始。下次数据大于等于 5 的时候是第 28 行。所以你想知道 F2 和 F28 的区别吗?计算结果是 0.036111 天,应该转换为更有用的东西,比如分钟......并且在整个范围内执行此操作,同时添加时间计算。是这样,还是我完全错过了标记?

标签: excel if-statement do-while


【解决方案1】:

这就是我认为您正在寻找的内容:

几列:

Col C. 小于 5?

=IF(B2<=5, C1+1, 0)

这是一个辅助行,用于计算自从我们输入

Col D. 是最后一个吗?

=IF(AND(C2>0, C3=0), 1, 0) 

如果这是一个周期的结束,这只是一个简单的布尔值,因此我们应该进行计算。

Col E. 流量总和

=IF(D2=1, SUM(OFFSET(B2, -1*(C2-1), 0, C2, 1)), "")

如果这是时段的结束,则将当前时段到时段开始的流量相加。我们通过从最上面的小值到我们当前的值执行Col C. Less than 5? 行和 1 列的范围来做到这一点。

Col F. 流动时间

=IF(D2=1, A2-OFFSET(A2, -1*(C2-1), 0), "")

这与Col E类似。如果时间间隔一致,那么您可以将时间间隔乘以Col C而不是减去。

您现在可以隐藏 Col CCol D,因为它们不需要显示。

【讨论】:

    猜你喜欢
    • 2022-12-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多