Excel中如何计算连续6天及以上气温高于90百分位的天数?
统计连续6天及以上高于90百分位气温的天数
步骤1:计算90百分位气温
假设每日气温数据在A2:A1000(根据实际数据范围调整),在任意空白单元格(比如B1)输入公式计算90百分位:
=PERCENTILE.EXC(A2:A1000, 0.9)
- 若需要包含首尾百分位的计算逻辑,改用
PERCENTILE.INC(A2:A1000, 0.9)
步骤2:标记每日是否高于90百分位
在B2输入以下公式,下拉填充至数据末尾:
=IF(A2>$B$1, 1, 0)
此公式会将气温高于90百分位的日期标记为1,否则标记为0
步骤3:统计连续6天及以上的总天数
方法1:兼容所有Excel版本(数组公式)
输入以下公式,旧版Excel需按Ctrl+Shift+Enter三键确认,Excel 365/2021版本直接回车即可:
=SUM(IF(FREQUENCY(IF(B2:B1000=1,ROW(B2:B1000)),IF(B2:B1000=0,ROW(B2:B1000)))>=6,FREQUENCY(IF(B2:B1000=1,ROW(B2:B1000)),IF(B2:B1000=0,ROW(B2:B1000))),0))
原理:通过FREQUENCY函数识别所有连续符合条件的区间长度,筛选出长度≥6的区间并求和。
方法2:适合Excel 365/2021(简洁可读版)
用LET函数封装逻辑,提升可读性:
=LET( 气温数据,A2:A1000, 90百分位,PERCENTILE.EXC(气温数据,0.9), 高于标记,--(气温数据>90百分位), 连续区间长度,FREQUENCY(IF(高于标记=1,ROW(气温数据)),IF(高于标记=0,ROW(气温数据))), SUM(FILTER(连续区间长度,连续区间长度>=6)) )
各部分说明:
气温数据:定义你的实际气温数据范围90百分位:计算气温阈值高于标记:将"是否高于阈值"的布尔值转为1/0格式连续区间长度:统计每个连续符合条件的天数区间长度SUM(FILTER(...)):仅保留长度≥6的区间,求和得到总天数
内容的提问来源于stack exchange,提问作者Mady
相关产品推荐
相关产品推荐

