记录比赛结果、员工打卡或每日任务完成情况时,经常需要统计某个状态连续出现了多少次。比如一支球队连续获胜的最长记录是多少,单纯使用COUNTIF只能统计总次数,无法判断连续情况。利用Excel的动态数组函数组合,就能快速找出最长连胜。
一、用公式计算最长连胜
假设B2记录了11场比赛结果,单元格内容为“胜”或“负”。在空白单元格输入:
=MAX(LEN(TEXTSPLIT(CONCAT(IF(B2:B12="胜",1,0)),0)))
按下回车,即可返回最长连续获胜的场次。

二、公式是如何实现的?
这组公式的关键是把比赛结果转换成数字,再通过拆分统计连续长度:
- IF函数:将“胜”转换为1,“负”转换为0。
- CONCAT函数:把转换后的数字合并成一串文本。
- TEXTSPLIT函数:以数字0作为分隔符,将连续的1拆分成不同片段。
- LEN函数:计算每个片段的字符长度。
- MAX函数:找出最大的长度,也就是最长连胜次数。
例如,比赛结果转换后为00111001011,拆分后最长的连续1有3个,因此最长连胜为3场。
三、还能统计哪些连续记录?
只要将目标状态转换为1,其他状态转换为0,就能修改公式中的判断条件,用于统计最长连续打卡天数、连续完成任务次数或连续迟到次数等。
注意事项
这种写法使用了TEXTSPLIT动态数组函数,部分旧版Excel可能不支持。如果无法计算,可以考虑使用辅助列逐行统计连续次数。
掌握这个方法,不仅能计算球队最长连胜,还能灵活处理各种连续状态统计问题。
评论 (0)