首页
字符拆分与合并,学会套路很简单
Excel之家ExcelHome
·
Excel
· 3 天前
正文
小伙伴们好啊,今天和大家分享几个字符拆分与合并的函数公式。
拆分字符
如下图,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=D
2,B
$2:B$15
,"")
也就是如果A$2:A$15等于D2,就返回B$2:B$15对应的内容,否则返回空文本"",结果是一个内存数组:
{"沙瑞金";"高育良";"蔡成功";"陈岩石";"";"";"";""……}
TEXTJOIN函数对IF函数得到的内存数组进行合并,第一参数指定使用间隔符号为逗号,第二参数使用1,表示忽略内存数组中的空文本。
返回间隔符号前后的内容
如下图,希望得到“调休”和逗号之间的字符,B2单元格输入
以下公式,
=TEXTBEFORE(TEXTAFTER(A2,"调休"),",")
TEXTAFTER可返回指定间隔符号后的内容,TEXTBEFORE则是返回指定间隔符号之前的内容。
先使用TEXTAFTER函数返回“调休”后的全部字符,再从此基础上,使用TEXTBEFORE函数返回逗号前的全部字符。
图文作者:祝洪忠
推荐文章
Excel按区间查询,其实很简单
·
Excel之家ExcelHome
·
昨天
2
超强deepseek工具集成
·
完美Excel
·
4 天前
1
deepseek+VBA在Excel中绘制施工进度计划网络图
·
完美Excel
·
3 天前
2
这几个Excel公式,简单常用效率高
·
Excel之家ExcelHome
·
4 天前
1
8位数字,快速变成真日期
·
Excel之家ExcelHome
·
3 天前
2
中肿徐瑞华教授团队:5 项口头报告荣登 ASCO 2024
·
丁香园肿瘤时间
·
9 月前
2
每天1杯茶 防「糖尿病」上身:这种茶效果最好..
·
台商总汇
·
1 年前
1
乌克兰的美军生化研究
·
IT高管会
·
3 年前
1
父母之间还有爱情吗?
·
晚睡
·
4 年前
1
亚马逊或将在百亿美元云计算合同案中获胜,微软遭暴击?
·
IDC圈
·
5 年前
1
© 2024 精读
删除内容请联系邮箱 2879853325@qq.com