在前面作者介绍过提取大中小括号之间的字符串内容,其公式的写法有一个固定表达,而且也相对比较简便。
但今天要讲的内容,却是提取两个相同字符之间的内容,那么,其公式的写法又有什么不同呢?
下面,就通过一个实例来介绍这个固定可套用的公式表达。
在下图中,是通过程序爬取出来的2021年全球资管机构做的行业性报告,在数据表的C列中是报告的原始文件名,我们需要通过一个公式将原始文件名中的行业机构引用到E列中。
而文件名中的行业机构文本刚好是两个”-“符号之间的文本内容。

那么这种字符串提取的场景,我们思索一下需要使用到哪些函数?
很明显,既然是字符提取,那自然要使用到用于提取字符的几个文本函数之一,比如left、right、mid函数等。
而提取字符串,我们通常要获得这个字符在单元格文本中的位置,和这个字符串的字符数量,这样才能定位这个符号,并提取出指定长度的字符串内容。这一点也是由于left等文本函数的参数所决定的。
而获取某字符在单元格文本中的位置,则首选find函数!
那下面,作者就通过一步步的公式分解,来完成最终的组合公式。
首先是要定位指定字符在单元格文本中的位置。
那么我们可以使用find函数来写公式:
=FIND("-",C2)

-
参数
我们可以看一下C2的单元格内容,第1个”-“符号是否就是第3个字符。
由于是提取两个相同字符之间的字符串内容,那么在获得第1个字符的位置后,我们还需要返回该字符第2次出现的位置,然后通过字符第2次出现的位置减去第1次出现的位置,就得到了两个符号键的字符串长度。
那我们还是先来返回符号”-“在文本中第2次出现的位置。
购买专栏解锁剩余58%