Excel中连续正负值的计数及理论概率计算技术问询
解决两个问题:统计连续正负值段数 & 计算理论概率
一、Excel中统计连续正/负值(长度≥2)的段数
针对你的示例数据[100,110,-100,-50,-37,0,201,131,122],要统计长度≥2的连续正值段数(结果2)和连续负值段数(结果1),可以用以下两种方法:
方法1:Excel 365/2021 动态数组公式
用FREQUENCY函数直接计算各连续段的长度,再统计符合条件的数量:
统计连续正值段(长度≥2)的数量:
=SUM(IF(FREQUENCY(IF(A2:A10>0,ROW(A2:A10)),IF(A2:A10<=0,ROW(A2:A10)))>=2,1,0))统计连续负值段(长度≥2)的数量:
=SUM(IF(FREQUENCY(IF(A2:A10<0,ROW(A2:A10)),IF(A2:A10>=0,ROW(A2:A10)))>=2,1,0))(注:如果你的数据范围不是A2:A10,替换成实际单元格区域即可)
原理:
FREQUENCY会把非正/非负值的行号作为分隔符,计算每个连续正/负值段的长度;再用IF筛选出长度≥2的段,最后SUM统计数量。
方法2:旧版Excel 数组公式(需按Ctrl+Shift+Enter输入)
和上面的公式完全一样,只是输入时需要按三键触发数组计算,因为旧版Excel不支持动态数组自动溢出。
二、计算连续正值的理论概率(正值占比65%)
假设每次观测独立,出现正值的概率p=0.65,非正值(负/0)的概率q=1-p=0.35,分三种场景解答:
1. 单个连续正段长度≥2的概率
当你遇到一个正段时,它的长度≥2的概率等于:在第一个正值后,下一个值仍为正值的概率,也就是p=0.65。同理,长度≥3的概率是p²=0.65²=0.4225,长度≥k的概率通用公式为p^(k-1)。
2. n个数据中,出现至少一次连续2次正值的概率
用递推法计算:设P(n)为n个数据中没有连续2次正值的概率,递推公式为:
P(0) = 1 // 空序列默认无连续 P(1) = 1 // 单个数据不可能有连续2次 P(n) = q*P(n-1) + p*q*P(n-2)
那么至少出现一次连续2次正值的概率就是1-P(n)。
比如n=9(你的示例数据长度):
- P(2)=0.351 + 0.650.35*1=0.5775 → 1-P(2)=0.4225(2个数据连续正的概率)
- P(3)=0.350.5775 + 0.22751≈0.4296 → 1-P(3)≈0.5704(3个数据中至少一次连续2次正的概率约57%)
3. n个数据中,长度≥2的连续正段的期望数量
当n很大时,近似公式为:
E ≈ n * p² * q
代入p=0.65、q=0.35,得到E≈n*0.65²*0.35≈n*0.1479,即每100个数据中,平均约有14.8个长度≥2的连续正段。
内容的提问来源于stack exchange,提问作者Eduardo Santos
相关产品推荐
相关产品推荐

