气候:计算连续降雨天数

时间:2019-03-07 06:18:05

标签: excel vba

我有一个数据列降雨,并且该日期是列。 我打算在另一栏中从中提取连续的雨天。 使用以下公式,我提取了连续:

columnF=IF(B2>0,SUM(F1)+1,0)

但是结果在一列中,我无法像所附图片中那样将它们分开(请参阅所需结果)。 如果要在另一列中提取降雨的连续性 怎么办?

我的结果:

所需结果:

1 个答案:

答案 0 :(得分:0)

根据Ted D的评论...第二个辅助列的可能公式为(在单元格G2中):

=IF(F2=0,0,MATCH(0,F3:F999,0)-1+F2)

这会寻找我们行下方计数器列(0)中的第一个F(向下看1000行-999可以适当更改)。我们将其与当前计数器一起使用,以提供块的大小。

从那里,我们可以用dx1day等标题创建列,并用公式填充它们:

=IF($G2=VALUE(SUBSTITUTE(MID(H$1,3,999),"day","")),$F2,"")

这是解析列顶部dx1day中的数字(在本例中为H)(如果仅使用数字和自定义格式来进行编码,则可以保存该位*)。然后,我们检查当前“块大小”值(在列G中)是否与标题中的值相同。如果是,则复制计数器值(来自列F),否则为空白。

您可以通过将$G2替换为(IF($F2=0,0,MATCH(0,$F3:$F999,0)-1+$F2))来摆脱第二个帮助器专栏-但是,如果这样做会使理解(和调试:-)更加麻烦,

*此方法是使用“类型”为"dx"0"day" ...来进行自定义格式,然后公式成为=IF($G2=H$1,$F2,"")=IF((IF($F2=0,0,MATCH(0,$F3:$F999,0)-1+$F2))=H$1,$F2,""),列版本