【发布时间】:2017-08-14 11:14:56
【问题描述】:
我真的希望你能帮助我解决以下问题。 我有一个数据集,我需要过滤一些值。这是一个用于波浪分析的数据集,我需要过滤掉最高值。所谓的峰值超过阈值方法。我想过滤掉 de wave 数据集中的风暴。
我可以通过以下方式做到这一点:当波高高于某个值(例如 2.5 米)时,定义为风暴。每 3 小时测量一次波高。
所以在数据集中我可以做一个 If(B3>$A$1; B3;0)。 A1 = 2,5 m。现在我已经过滤了波高。所以现在我可以在我的数据集中直接看到值高于 2.5 米的行,因为暴风雨持续了几个小时。以图1为例: [图1][1]
因此,如果某个值大于 X,则返回该值,否则返回零。现在是困难的部分:
现在,对于 2.5 米以上的值,我需要该条带的最高值。由于这是一个大(!)数据集,我有很多数据点。所以我有几次“风暴”,它们并不总是持续那么久。因此,高于 2.5 米的值并不总是 3 行,有时更多。见图2picture 2
我需要为每个风暴计算第 i 列中的最大值。因为每次风暴都不会持续很长时间,我可能需要在 VBA 中编写代码。有人可以帮我吗?我被困了 6 天,但我的 VBA 代码不起作用,而且我对 VBA 没有太多经验。如果有人可以帮助我,将不胜感激!
亲切的问候,
杰伦
编辑作为对 -Excel Developers- 的回复 我想我快到了,非常感谢你的回复!!我可能误读了代码,但是我在计算每次风暴的最高值时仍然有点困难,我认为它应该看起来像这样,如图 3 所示。Picture 3 p>
每个风暴的最高值应该打印在下一列,如图 3 所示。它可能在代码中说明了一切,但我误读了它。
非常感谢您的回答!我真的希望你能帮助我完成最后一部分:-)
亲切的问候,
杰伦
【问题讨论】: