看球赛时,我们常听到解说员激动地喊:“球队已经拿下了5连胜!”如果是你自己用Excel记录赛况,怎么快速、准确地算出这波最长连胜到底有几次?这个问题使用COUNTIF函数无能为力。其实,利用几个新版动态数组函数组合,只需一段公式就能精准算出最长连胜场次。

一、具体场景

假设B列记录了某球队11场比赛的成绩(B2:B12),里面填的是“胜”或“负”。现在需要算出这11场中,最多连续赢了多少场。

在目标单元格输入以下公式:

=MAX(LEN(TEXTSPLIT(CONCAT(IF(B2:B12="胜",1,0)),0)))

按回车,瞬间得出最多连胜场次。

Excel计算最多连胜次数,一个公式巧妙搞定-天天办公网

二、公式拆解(从内到外)

1、IF(B2:B12=”胜”,1,0):把文本转化为数字。遇到“胜”变成1,遇到“负”变成0。得到一组类似 {0,0,1,1,1,0,0,1,0,1,1} 的数组。

2、CONCAT(…):把这组数字拼接成一个长字符串。比如拼接后变成 “00111001011”。

3、TEXTSPLIT(…, 0):这是最关键的一步。以“0”作为分隔符,把字符串切开。”00111001011″ 被切开后,变成了 {“”, “”, “111”, “”, “1”, “11”}。此时,连续的“1”被独立分离出来了,而空字符串代表没有连胜。

4、LEN(…):计算拆分后每一段文本的长度。空字符串长度为0,”111″ 长度为3,”11″ 长度为2。

5、MAX(…):从这些长度数字中找出最大值,这个最大值就是连续出现“胜”的最多次数。

三、拓展应用

这个思路不仅能算“连胜”,只要能把条件转化为1和0,就能解决很多连续统计问题:

1. 算最长连续打卡天数

把打卡状态用IF转为“1”和“0”,把公式里的“胜”改成你需要的打卡条件即可。

2. 算最长连续迟到次数

同样的逻辑,判断条件换成迟到即可。只要确认目标特征为“1”,其他为“0”,用分隔符0切分字符串,最大长度就是最长连续次数。

3. 如果Excel版本较低不支持TEXTSPLIT

老版本可以借用 TRIM 和 MID 函数替换空格来实现拆分,或者借助辅助列,计算起来会稍微复杂一些。

四、总结

Excel计算最多连胜次数,核心逻辑是“化整为零”:先用IF和CONCAT生成一串代表状态的长数字,再用TEXTSPLIT以0为界进行斩断,最后用MAX找出最长的那一节。掌握这个“字符串拆分法”,很多关于“连续次数”的统计问题都能迎刃而解。