当前位置: 欣欣网 > 办公

字符拆分,这个函数真厉害

2024-03-07办公

小伙伴们好啊,今天咱们一起来学习专门用于字符拆分的TEXTSPLIT函数。 这个函数目前可以在Excel 365以及最新的WPS表格中使用,常用写法为:

TEXTSPLIT(待拆字符,[列分隔字符],[行分隔字符],[是否忽略空],[是否区分大小写],[出错时返回什么])

分隔字符或行分隔字符 可以只用其一,也可以同时使用。并且允许 同时有多个不同的行列分隔符。

接下来咱们就看看这个函数的部分基础用法:

1、科目拆分

如下图,需要按分隔符「/」,来拆分A列中的会计科目。

B2输入以下公式,下拉即可。

=TEXTSPLIT(A2,"/")

本例中, TEXTSPLIT的 第二参数使用 "/"作为列 符号,其他参数省略。

2、忽略空字符

如下图,A列待拆分字符中,有部分间隔符号出现了多次,使用以下公式,可以在拆分时忽略分隔符号之间的空字符。

=TEXTSPLIT(A2,"/",,1)

本例中,第二参数 使用 "/"作为列分隔符号,省略了行分隔符号的参数。第三参数使用1或TREU,表示忽略空字符。

3、同时设置多种分隔符号

如下图,A列待拆分字符中,有多种类型的间隔符号,包括逗号、分号,斜杠和顿号,使用以下公式,可以按常量数组的形式 将多种分隔符 号写到一起

=TEXTSPLIT(A2,{"/","、",",",";"})

公式中的列分隔符号为 {"/","、",",","; "},即斜杠 "/"、逗号 ", "、顿号"、"和斜杠"/"。每一个符号都加上双引号,符号之间用半角的逗号或半角分号作为间隔,最后用一组花括号包含起来。

TEXTSPLIT将依次按花括号中不同类型的分隔符拆分到各列。

4、提取混合内容中的金额再求和

如下图所示,A列是一些平台优惠信息,希望提取出其中的金额部分,并进行求和汇总。

B2单元格输入以下公式,向下复制即可。

=SUM(1*TEXT(TEXTSPLIT(A2,{"-",";"}),"0%;0;0;!0"))

先使用 短横杠"-"和分号";",对A2单元格中的内容进行拆分,得到结果为:

{"平台新人券","8.00","购物补贴抵扣金额","1.01"}

再使用TEXT函数,根据拆分后的格式进行转换。

TEXT函数的格式代码 "0%;0;0;!0",表示大于0的显示为百分比形式,也就是保留了两位的小数。小于0和等于0的返回0,文本部分强制显示为0。

TEXT函数的结果为文本格式,乘以1转换为数值,最后用SUM函数求和。

5 、合并练习题和参考答案

如下图所示,A列是邵版给出的一些填空题,B列是学霸「广州-游」给出的参考答案,希望将填空题和答案内容合并到一起。

C2单元格输入以下公式,向下复制:

=TEXTJOIN(TEXTSPLIT(B2,,"、"),0,TEXTSPLIT(A2,,"__"))

公式中的 TEXTSPLIT(B2,,"、")部分,将B2单元格中的参考答案按顿号拆分为4行,稍后的计算中将用作 T EXTJOIN函数合并字符时的间隔符号

公式中的 TEXTSPLIT(A2,,"__") 部分,将A2单元格中的题目按短横线拆分为4行:

最后用 TEXTJOIN函数合并A2单元格拆分后的字符。间隔符号为 B2单元格拆分后的内容。

TEXTJOIN函数的第二参数使用0,表示包括待合并内容中的空单元格。

6 、按部门拆分姓名

如下图所示,A列是邵氏公司的一些部门和人员姓名混合内容。希望按部门将姓名拆分到多行多列。

学霸「醉清风」在C3单元格输入以下公式,即可得到正确结果: =TEXTSPLIT(CONCAT(IF(RIGHT(A2:A13)="部","按行","按列")&A2:A13),"按列","按行",1,,"")

公式中的这部分 I F (RIGHT(A2:A13)="部","按行","按列"), 先用RIGHT函数提取A列内容的最后一个字符,再用IF函数判断是否为「部」,如果最后一个字符为「部」,IF函数返回字符「按行」,否则返回「按列」。

再分别与 A2:A13单元格区域中的各个 字符串进行合并。得到以下一组字符串:

{"按行销售部";"按列西门长海";"按列赵德柱";"按列叶四娘";"按列杨了二过";"按行财务部";"按列高大毛";"按列曹公公";"按列轩辕梅六";"按行质保部";"按列菜花婆婆";"按列西门柔"}

接下来使用 CONCAT函数将这些内容合并到一起:

"按行销售部按列西门长海按列赵德柱按列叶四娘按列杨了二过按行财务部按列高大毛按列曹公公按列轩辕梅六按行质保部按列菜花婆婆按列西门柔"

最后使用 TEXTSPLIT函数将以上内容进行拆分,列间隔符号为字符「按列」,行间隔符号为字符「按行」。

TEXTSPLIT函数第三参数使用1,表示忽略空单元格。

最后一个参数使用空文本,表示拆分不到内容的单元格显示为空白。

好了,今天的分享就是这些,祝各位一天好心情~~

图文制作:祝洪忠