今天咱们一起来学习TEXTSPLIT函数的几个典型用法。这个函数目前仅在Excel 2021和最新的WPS表格中可以使用,常用写法为:
TEXTSPLIT(待拆字符,[列分隔字符],[行分隔字符],[是否忽略空],[是否区分大小写],[出错时返回什么])
列分隔字符或行分隔字符可以只用其一,也可以同时使用。并且允许同时有多个不同的行列分隔符。
1、科目拆分
如下图,需要按分隔符“/”,来拆分A列中的会计科目。
B2输入以下公式,下拉即可。
=TEXTSPLIT(A2,"/")

本例中,TEXTSPLIT的第二参数使用"/"作为列分隔符号,其他参数省略。
2、提取二级科目
如下图,需要按分隔符“/”,来提取A列中的二级会计科目。
B2输入以下公式,下拉即可。
=INDEX(TEXTSPLIT(A2,"/"),2)

先使用TEXTSPLIT函数按斜杠拆分A列字符,再使用INDEX函数提取出第二个元素。
3、忽略空字符
如下图,A列待拆分字符中,有部分间隔符号出现了多次,使用以下公式,可以在拆分时忽略分隔符号之间的空字符。
=TEXTSPLIT(A2,"/",,1)

本例中,第二参数使用"/"作为列分隔符号,省略了行分隔符号的参数。第三参数使用1或TREU,表示忽略空字符。
如下图,A列待拆分字符中,有多种类型的间隔符号,包括逗号、分号,斜杠和顿号,使用以下公式,可以按常量数组的形式将多种分隔符号写到一起。
=TEXTSPLIT(A2,{"/","、",",",";"})

公式中的列分隔符号为{"/","、",",",";"},即斜杠"/"、逗号","、顿号"、"和斜杠"/"。每一个符号都加上双引号,符号之间用半角的逗号或半角分号作为间隔,最后用一组花括号包含起来。
TEXTSPLIT将依次按花括号中不同类型的分隔符拆分到各列。
如下图所示,A列是商品和金额的混合信息,希望提取出其中的金额部分,并进行求和汇总。
B2单元格输入以下公式,向下复制即可。
=SUM(1*TEXTSPLIT(A2,TEXTSPLIT(A2,ROW($1:$10)-1,".",1),,1))

本例中用了两个TEXTSPLIT函数,先看这部分:
TEXTSPLIT(A2,ROW($1:$10)-1,".",1)
使用ROW($1:$10)-1部分得到的0~9的数字和小数点,对A2单元格中的内容进行拆分,第四个参数使用1,表示忽略空单元格。
这一步的作用相当于是将A2单元格中的数字和小数点都删除,仅保留文字部分,得到的结果为:
{"订书机","钢笔","笔记本"}
接下来再使用TEXTSPLIT函数,用前一个TEXTSPLIT部分得到文字作为间隔符,将A2内容进行拆分。
TEXTSPLIT(A2,TEXTSPLIT(A2,ROW($1:$10)-1,".",1,),,1)
这部分拆分后的结果为:
{"17","26","12.8"}
最后乘以1转换为数值,再用SUM函数求和。
如下图所示,B列是某联赛的比赛成绩,希望计算出最多连胜场次。
=MAX(LEN(TEXTSPLIT(CONCAT(IF(B2:B12="胜",1,0)),0)))

IF函数部分,判断B列胜负,胜返回1,负返回0,结果如C列所示:

接下来使用CONCAT函数将这些内容连接到一起,结果为:
“00111001011”
再使用TEXTSPLIT函数,用0做为间隔符进行拆分,拆分结果为:
……111…1…11
最后用LEN函数计算出以上结果的字符数,再用MAX函数计算出最多的字符数,其结果就是最大连胜次数。