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

张俊
张俊

WPS函数专家

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

大家好,我是张俊。

场景

最近接到宝子的询问,已经学习了动态数组】以动态数组视角学习TEXTSPLIT函数基本用法,现在想学下关于TEXTSPLIT函数的进阶用法,今天它来了!

进阶案例

  1. 横向连接指定次数的字符串

需求:请根据B列的次数将A列的数据在C列向右生成。

=TEXTSPLIT(REPT(A2&",",B2),",",,1)

步骤1:通过分隔符生成指定次数的数据

=REPT(A2&",",B2)

由于需要根据指定的次数,因此需要用REPT函数来生成对应的次数,但是生成的后没有分隔符,后期无法拆分,因此在每个后面加上","作为分隔符,方便后期拆分,具体如下图操作所示:

步骤2:根据分隔符拆分

=TEXTSPLIT(REPT(A2&",",B2),",")

用TEXTSPLIT函数根据","分隔符按列拆分(参数2),具体操作如下图所示:

步骤3:忽略空白单元格

=TEXTSPLIT(REPT(A2&",",B2),",",,1)

通过以上操作后,发现每行数据的最后都有一个空白单元格,这是因为步骤1的在每个数据的最后增加的,因此拆分后会在每行数据的最后多出来一个空白单元格。如果想忽略空白单元格,就可以使用TEXTSPLIT函数的参数4,输入1或TRUE来忽略空白单元格。具体操作如下图所示:

📢

通过TEXTSPLIT函数出现空白单元格时,有以下2种情况:

1.连续2个分隔符

2.分隔符在开头或结尾

  1. 竖向连接指定次数的字符串(数据进阶法)

需求:请根据B列的次数将A列的数据在D列自上而下生成。

=TEXTSPLIT(CONCAT(REPT(A2:A5&";",B2:B5)),,";",1)

步骤1:通过分隔符生成指定次数的数据(数组法)

=REPT(A2:A5&";",B2:B5)

同上个案例,直接根据B列次数将A列的数据在D列根据";"生成数据对应的数据,具体如下图所示:

💡

我一般用分隔符的习惯是按列拆分用","分隔符,按行拆分用";"分隔符,刚好与WPS表格数组的用法相同,更加方便理解和记忆,也建议大家用此法做为分隔符。

步骤2:连接所有字符串并按行拆分

=TEXTSPLIT(CONCAT(REPT(A2:A5&";",B2:B5)),,";")

如果想按行拆分,需要先将所有的数据合并到一起,再通过TEXTSPLIT函数根据分隔符按行拆分(参数3),具体如下图所示:

步骤3:忽略空白单元格

=TEXTSPLIT(CONCAT(REPT(A2:A5&";",B2:B5)),,";",1)

通过以上操作后,发现每行数据的最后都有一个空白单元格,如果想忽略空白单元格,就可以使用TEXTSPLIT函数的参数4,输入1或TRUE来忽略空白单元格。具体操作如下图所示:

  1. 横向连接指定次数的字符串(数组进阶法)

这次我们来通过数组方法来重新进阶来学习下这个问题,具体公式如下:

=TEXTSPLIT(TEXTJOIN(";",,REPT(A2:A5&",",B2:B5)),",",";",1,,"")

步骤1:通过分隔符生成生成指定次数的数据(数组法)

=REPT(A2:A5&",",B2:B5)

同案例1和案例2的方法,直接根据B列次数将A列的数据在D列根据";"生成数据对应的数据,具体如下图所示:

步骤2:连接所有字符串并根据分隔符拆分

=TEXTSPLIT(TEXTJOIN(";",,REPT(A2:A5&",",B2:B5)),",",";")

先通过TEXTJOIN函数的将所有的数据根据";"分隔符(参数1)合并<关于TEXTJOIN函数的用法,后期专门出教程讲解用法>,再通过TEXTSPLIT函数根据","分隔符按列拆分(参数2)根据";"分隔符按行拆分(参数3),具体操作如下图所示:

步骤3:忽略空白单元格和规避错误

=TEXTSPLIT(TEXTJOIN(";",,REPT(A2:A5&",",B2:B5)),",",";",1,,"")

最后通过TEXTSPLIT函数的参数4忽略空白单元格和参数6规避错误值,将错误值显示为空白,具体操作如下:

关于TEXTSPLIT函数的进阶用法,不单单用到了参数4(忽略空白单元格)和参数6(规避错误值),还与REPT、CONCAT和TEXTJOIN函数的结合使用,你学会了吗?学会的话,记得点赞❤️❤️❤️并在评论区评论“我学会了!”,您的点赞❤️❤️❤️和评论是对我最大的支持!

🚩

练习文件:👉TEXTSPLIT进阶用法👈


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

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

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

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

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

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

关于TEXTSPLIT进阶用法你学会了吗?
学会了!
2 (40%)
太难了!
3 (60%)
5人参与 投票已截止
上海
浏览 1610
收藏
11
分享
11 +1
10
+1
全部评论 10
 
孤独的爆发
textsplit第五参数有问题吧?按照我的理解,textsplit第五参数 是否区分大小写 指的是分隔符不区分大小写,没有理由在写1时也把数据源全都变成小写吧?我的工作有时候需要不区分分隔符大小写进行分列的,第五参数不用我又得多敲一个字符,不是很方便 =TEXTSPLIT("123Aa6679aa6aGGA789AAA","a","79",1,1,"GGggg") 这个结果把数据源全都变成小写了
· 广西
回复
张俊
张俊

WPS函数专家

您好,如图1,是不忽略大小写;如图2是忽略大小写,这个可以根据具体情况来处理。
· 上海
回复
 
天天
天天

创作者俱乐部成员

学到了
· 河南省
1
回复
张俊
张俊

WPS函数专家

加油,奥利给,期待能看到更多天天老师的分享!
· 上海
回复
 
天天
天天

创作者俱乐部成员

学到了
· 河南省
回复
 
天天
天天

创作者俱乐部成员

学到了
· 河南省
回复
 
HC.旋
太厉害了
· 江苏省
1
回复
张俊
张俊

WPS函数专家

加油,奥利给,学好函数的基本用法,然后嵌套函数就能玩出花来。
· 上海
回复
 
Mr Chen
Mr Chen

创作者俱乐部成员

学习动态数组
· 甘肃省
1
回复
张俊
张俊

WPS函数专家

TEXTSPLIT函数与动态数组加持,有很多很实用的功能。
· 上海
回复