Excel中如何统计指定数值连续出现的最大次数?
Excel统计指定数值连续出现的最大次数
针对你需要统计序列中某个数值连续出现最大次数的需求,以下是几种通用解决方案,覆盖不同Excel版本:
方法1:Excel 365/2021(动态数组公式)
如果你的Excel支持动态数组函数,用这个公式最简洁高效。假设目标数据在A1:N1区域,要统计数值1的连续最大次数:
=MAX(SCAN(0,A1:N1,LAMBDA(a,b,IF(b=1,a+1,0))))
- 原理:
SCAN函数逐个遍历数据单元格,遇到目标值(这里是1)就累计计数,遇到其他值则重置计数为0;最后用MAX提取所有计数值中的最大值。 - 若要统计其他数值,只需把公式中的
1替换为目标数值即可。
方法2:旧版Excel(数组公式)
对于不支持动态数组的Excel版本,使用数组公式(输入时需按Ctrl+Shift+Enter确认,而非单独按Enter):
=MAX(FREQUENCY(IF(A1:N1=1,COLUMN(A1:N1)),IF(A1:N1<>1,COLUMN(A1:N1))))
- 原理:用
IF函数分别筛选出目标值的列号和非目标值的列号,FREQUENCY函数计算每两段非目标值之间的目标值数量,最后取最大值。
方法3:辅助列法(新手友好)
如果对公式不太熟悉,辅助列的方式更直观:
- 在数据区域右侧第一个单元格(比如
B1)输入:=IF(A1=1,1,0) - 在
B2输入:=IF(A2=1,B1+1,0),然后下拉填充到数据末尾 - 最后在空白单元格输入
=MAX(B:B),即可得到连续出现的最大次数
你之前尝试的COUNTIF类函数更适合统计满足条件的总数量,难以处理连续序列的计数逻辑;而SUBSTITUTE的方法只能匹配固定长度的连续模式,无法动态适配所有连续场景,所以上述方法更通用可靠。
内容的提问来源于stack exchange,提问作者Kelsey Rogers
相关产品推荐
相关产品推荐

