【动态数组】以动态数组视角学习TEXTSPLIT函数进阶用法
WPS函数专家
要想下班早,表格必须用的好!
大家好,我是张俊。
⭐场景
最近接到宝子的询问,已经学习了【动态数组】以动态数组视角学习TEXTSPLIT函数基本用法,现在想学下关于TEXTSPLIT函数的进阶用法,今天它来了!
进阶案例
- 横向连接指定次数的字符串
需求:请根据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.分隔符在开头或结尾 |
- 竖向连接指定次数的字符串(数据进阶法)
需求:请根据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来忽略空白单元格。具体操作如下图所示:
- 横向连接指定次数的字符串(数组进阶法)
这次我们来通过数组方法来重新进阶来学习下这个问题,具体公式如下:
=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进阶用法👈 |
个人往期帖子合集:【帖子合集】个人往期帖子合集来了!
WPS函数专家
创作者俱乐部成员
WPS函数专家
创作者俱乐部成员
创作者俱乐部成员
WPS函数专家
创作者俱乐部成员
WPS函数专家