专栏名称: Excel之家ExcelHome
excel技巧原创教程每日推送,excel表格职场模板干货仓库,图文/视频/动画等多种教学方式分享excel操作技巧教程/excel函数公式教程/excel数据透视表教程/excel图表教程/Word教程,助您轻松提高办公效率!
目录
相关文章推荐
Excel之家ExcelHome  ·  只要掌握这几句VBA代码,一分钟搞定1000 ... ·  5 天前  
Excel之家ExcelHome  ·  字符拆分与合并,学会套路很简单 ·  2 天前  
Excel之家ExcelHome  ·  给表格中排名较后的数据打红叉叉 ·  4 天前  
Excel之家ExcelHome  ·  高亮显示查询内容,其实很简单 ·  5 天前  
Excel之家ExcelHome  ·  FILTER函数,数据筛选南波万 ·  6 天前  
51好读  ›  专栏  ›  Excel之家ExcelHome

字符拆分与合并,学会套路很简单

Excel之家ExcelHome  · 公众号  · Excel  · 2024-09-27 06:45

正文

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

拆分字符
如下图,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,表示忽略内存数组中的空文本。

图文作者:祝洪忠

1、点击或搜索微信公众号【 Excel之家ExcelHome】到公众号首页。

2、点击右上角【···】,在下拉菜单中点击【设为星标】。

设置星标后,小伙伴们就不用担心错过咱们的推送了!

设为星标,精彩内容不错过