二维码 购物车
部落窝在线教育欢迎您!

提取多个不同分隔符之间的字符

 

作者:老菜鸟来源:部落窝教育发布时间:2023-08-17 22:50:42点击:987

分享到:
0
收藏    收藏人气:0人
版权说明: 原创作品,禁止转载。
编按:

提取多个不同分隔符之间的字符,可以将字符串拆分成多列或多行,然后用VLOOKUP或HLOOKUP查找需要的部分。

 

今天分享提取多个不同分隔符之间的字符实例,如图所示,需要提取品名中的规格。

 

表格
低可信度描述已自动生成

 

较明显的规律:

1)规格位于一对括号之间;

2)规格包含独有字符“*”“支”。

 

思路:

利用括号作分隔符将字符串拆分成多列或者多行,然后通配符查找含“*”或“支”的部分。

譬如,A2拆分成多列或多行。

 

图片包含 图示
描述已自动生成

 

表格
描述已自动生成

 

公式1:适合365版本

=HLOOKUP("**",TEXTSPLIT(A2,{"",""}),1,0)

 

 

解析:

公式中用了365中的一个函数TEXTSPLIT。它有6个参数,当前公式中只用了前两个参数将字符串拆分成了多列,然后用HLOOKUP横向查找。

点此处查看TEXTSPLIT的用法

 

公式2:高低版本皆可

=TRIM(VLOOKUP("**",MID(SUBSTITUTE(SUBSTITUTE(A2,"",""),"",REPT(" ",99)),(ROW($1:$6)-1)*99+1,99),
1,0))

解析:

串联两个SUBSTITUTE将每个括号替换成99个空格;然后依次从1100199、…595处提取99个字符,将字符串拆分成多行。

 

以上两种方法非常适合提取多分隔符之间的字符。

 

当然,本案例还有其他方法,下面抛砖引玉提出一些思路。

思路1

先把年份全部去掉,再提取最后一组括号内的内容。

 

 

思路2

找到关键字符“*”位置,然后减去3个字符后提取11个字符,最后再提取“)”前的字符。

 

 

提取“)”前的字符,至少有三种方法:查找后提取、替换后提取、用365TEXTBEFORE提取。

 

思路3

找到另一个关键字符“支”,然后用类似思路2的方法进行提取。

注意“支”前的规格字符数不等,相差1个字节(如“70*35”与“20*4”),适合用MIDBLEFTB等函数提取统一的字节数而不是字符数。

 

本文配套的练习课件请加入QQ群:902294808下载。

Excel高手,快速提升工作效率,部落窝教育Excel精品好课任你选择

扫下方二维码关注公众号,可随时随地学习Excel

IMG_256

相关推荐:

利用99个空格来提取字符

7个文本提取函数的用法

4查找函数入门

为何条件格式下无法按颜色求和?

版权申明:

本文作者老菜鸟;部落窝教育享有稿件专有使用权。若需转载请联系部落窝教育。