我真的希望你能帮助我解决以下问题。 我有一个数据集,我需要过滤一些值。这是波分析的数据集,我需要过滤掉最高的值。所谓的峰值超过阈值方法。我想过滤掉de wave数据集中的风暴。
我可以通过以下方式执行此操作:当波高超过某个值(例如2.5米)时定义风暴。波高每3小时测量一次。
所以在数据集中我可以做一个If(B3> $ A $ 1; B3; 0)。 A1 = 2.5米。现在我已经过滤了波高。所以现在我可以在我的数据集行中直接看到高于2.5米的值,因为风暴持续了几个小时。见图1为例: [图1] [1]
因此,如果某个值高于X,则返回该值,否则返回零。现在来了困难的部分:
现在,对于2.5米以上的值,我需要该条带的最高值。由于这是一个大(!)数据集,我有很多数据点。所以我有几场风暴,并不会持续很长时间。因此,高于2.5米的值不总是3行,有时甚至更多。见图2 picture 2
我需要为每个风暴计算第i列中的最高值。因为每次风暴的持续时间都很长,所以我很可能需要在VBA中编写代码。有人可以帮帮我吗?我已经被困了6天了,但我的VBA代码很难工作,而且我对VBA没有多少经验。如果有人能帮助我,我将非常感激!
亲切的问候,
的Jeroen
编辑作为对-Excel开发人员的回复 - 我想我差不多了,非常感谢你的回复!我可能误读了代码,但是我仍然在为每次风暴计算最高值时遇到一点点困难我认为应该看起来像这样,如图3所示。Picture 3
每个风暴的最高值应该打印在下一列中,如图3所示。它可能在代码中说明了一切,但我误读了它。
非常感谢你的回答!我真的希望你能帮助我完成最后一部分: - )
亲切的问候,
的Jeroen
答案 0 :(得分:0)
您必须迭代第i列中的所有值。对于每一场风暴,找到最高价值。风暴开始时,0后跟一个正值,当一个正值后跟一个0时结束。所以像这样:
RDB$ADMIN