excel - 气候:计算连续降雨天数
问题描述
我有一个数据列雨量,并且在那个日期有一列;我打算在单独的列中从中提取连续的雨天。使用下面的公式,我提取了 Consecutive :
columnF=IF(B2>0,SUM(F1)+1,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,"")
用于无第二辅助列版本
推荐阅读
- html - 右侧的图像 div 没有出现
- dart - 柯里化函数的类型签名
- javascript - 相同的字符串为 toMatch() 方法 Jasmine 抛出错误
- android - JSONObject 的方法 toString() 始终为 null
- python - 如何从 PyTorch 中的 ResNet 模型中删除最后一个 FC 层?
- python - 函数/方法中的参数是按值传递还是按引用传递?
- java - 如何检查 Map 中的键和值是否匹配
- sql-server - SQL 根据连续任务获取班次开始和班次结束
- hyperledger-fabric - 如何修复 Hyperledger Fabric 中的“FAILED to execute End-2-End Scenario”?
- image-processing - 如何从python opencv中的单应矩阵计算大于0度的角度的正确平移?