编按:提取多个不同分隔符之间的字符,可以将字符串拆分成多列或多行,然后用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个空格;然后依次从1、100、199、…595处提取99个字符,将字符串拆分成多行。

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

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

思路1

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

思路2

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

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

思路3

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

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

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

学习交流请加微信hclhclsc进群领取资料

利用99个空格来提取字符

7个文本提取函数的用法

4大查找函数入门

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

版权申明:

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