专业的JAVA编程教程与资源

网站首页 > java教程 正文

字符拆分与合并,学会套路很简单(字符怎么合并)

temp10 2025-05-11 00:56:18 java教程 3 ℃ 0 评论

小伙伴们好啊,今天和大家分享几个字符拆分与合并的函数公式。


字符拆分与合并,学会套路很简单(字符怎么合并)

拆分字符

如下图,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)

这部分拆分后的结果为:

{"18","95.5"}

最后乘以1转换为数值,再用SUM函数求和。


合并内容

如下图,希望将B列的姓名,按照不同部门合并到一个单元格里。

=TEXTJOIN(",",1,IF(A$2:A$15=D2,B$2:B$15,""))

公式中要合并的内容为:

IF(A$2:A$15=D2,B$2:B$15,"")

也就是如果A$2:A$15等于D2,就返回B$2:B$15对应的内容,否则返回空文本"",结果是一个内存数组:

{"沙瑞金";"高育良";"蔡成功";"陈岩石";"";"";"";""……}

TEXTJOIN函数对IF函数得到的内存数组进行合并,第一参数指定使用间隔符号为逗号,第二参数使用1,表示忽略内存数组中的空文本。


返回间隔符号前后的内容

如下图,希望得到“调休”和逗号之间的字符,B2单元格输入以下公式,

=TEXTBEFORE(TEXTAFTER(A2,"调休"),",")

TEXTAFTER可返回指定间隔符号后的内容,TEXTBEFORE则是返回指定间隔符号之前的内容。

先使用TEXTAFTER函数返回“调休”后的全部字符,再从此基础上,使用TEXTBEFORE函数返回逗号前的全部字符。


图文作者:祝洪忠

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表