【动态数组】通过TEXTSPLIT函数解决最大连续数问题

张俊
张俊

WPS函数专家

要想下班早,表格必须用的好!

大家好,我是张俊。

场景

最近经常接到宝子们咨询,关于如何计算连续最大数的问题,比如最大连续签到数、最大连续胜利数等等,关于此类问题以前看似比较复杂,但是有了TEXTSPLIT函数的加持,一切就会如此简单!

  1. 需求

根据C列的胜负结果在E2单元格计算最近一个月的最大连胜数,具体如下图所示:

  1. 实现效果

=MAX(LEN(TEXTSPLIT(CONCAT(IF(C2:C13="胜","1",";")),,";")))

具体结果如下图所示:

  1. 公式解析

3.1 判断是否为对应结果

需要判断C列的结果是否为“胜”,如果为胜利则返回"1",否则返回";"(作为后期分隔符),这里的"1"和";"可以设置为其他的内容,只要不一样即可。我这里方便输入和简单理解。具体公式如下:

=IF(C2:C13="胜","1",";")

具体操作如下图所示:

3.2 连接字符串并根据分隔符拆分

将返回的所有字符串用CONCAT函数连接起来,再用TEXTSPLIT函数根据";"分隔符按行拆分(这里可以按行拆分,由于竖向方便理解,因此我这里使用了按行拆分),具体公式如下:

=TEXTSPLIT(CONCAT(IF(C2:C13="胜","1",";")),,";")

具体操作如下图所示:

3.3 计算各个字符串长度并求最大值

先根据LEN函数计算各个元素的长度,再通过MAX函数计算最大值,具体公式如下:

=MAX(LEN(TEXTSPLIT(CONCAT(IF(C2:C13="胜","1",";")),,";")))

3.3 方法总结

对于此类计算连续最大数的问题,具体操作步骤:

1.先判断,满足就返回指定值,方便后期计算长度;不满足就返回分隔符,方便后期分隔

2.将所有内容连接,最后用TEXTSPLIT函数根据分隔符拆分

3.计算各自的长度,最后去最大值

关于TEXTSPLIT函数解决最大连续数的问题,你学会了吗?学会的话,记得点赞❤️❤️❤️并在评论区评论“我学会了!”,您的点赞❤️❤️❤️和评论是对我最大的支持!

🚩

练习文件:👉通过TEXTSPLIT函数解决最大连续数问题👈


个人往期帖子合集:【帖子合集】个人往期帖子合集来了!

【动态数组】以动态数组视角学习TEXTSPLIT函数进阶用法

【动态数组】以动态数组视角学习TEXTSPLIT函数基本用法

【动态数组函数实战案例】一列数据转M行N列

【动态数组】以动态数组视角学习SEQUENCE函数进阶用法

【动态数组】以动态数组视角学习SEQUENCE函数基本用法

【动态数组】WPS表格动态数组社区专属体验版(15933)终于来了!

你学会计算最大连续数的问题了吗?
学会了!
6 (100%)
太难了!
0 (0%)
6人参与 投票已截止
上海
浏览 871
收藏
15
分享
15 +1
10
+1
全部评论 10
 
HC.旋
666,以前我们也试过用powerquery的M函数去解决类似的这道题。
· 江苏省
2
回复
张俊
张俊

WPS函数专家

很棒,不过现在WPS表格的新函数TEXTSPLIT和动态数组的加持,是不是变的更加简单了!
· 上海
回复
 
Mr Chen
Mr Chen

创作者俱乐部成员

学习学习!
· 甘肃省
回复
张俊
张俊

WPS函数专家

这个问题虽然不常用,但是遇到了很抓耳挠腮,不过现在可以轻松解决了。
· 上海
回复
 
ZOMBIES
太厉害了
· 江苏省
1
回复
张俊
张俊

WPS函数专家

加油,奥利给,欢迎多多提出想法和问题,也许下一个帖子就能解决掉。
· 上海
回复
 
GOGO
2023-11-12一起学习WPS的各种技巧
· 湖北省
1
回复
张俊
张俊

WPS函数专家

记录美好学习时间!
· 上海
回复
 
尹俊超
尹俊超

创作者俱乐部成员

2020/11/12记录一下跟着师兄学习的日子
· 河南省
1
回复
张俊
张俊

WPS函数专家

感谢超哥的支持和认可!我需要持续不断的创作更加优质的作品!
· 上海
回复