今天被两杯奶茶诱惑,帮朋友做一个文字从word转换到excel的工作。
朋友给的文件长这样子,是一份全国的省市区名称,朋友想把这些区都分出来,放到excel里面,以便后续进一步进行处理。

朋友文件刚发过来,看到1.8万字的文档,心里有点慌,自己心里还在嘀咕,这两杯奶茶不要把一个下午都搭进去了吧?

不慌,先看下文字结构,我们注意到,区都是用括号括起来的。那我们可不可以找到最后一个(,然后把这个之后的字符串先保存下来,这样子就能把前面的乱数据先去除掉。
答案是可以的,我们利用如下逻辑来处理即可。
计算一共有多少个左括号:利用SUBSTITUTE函数,先把原文本中的所有(左括号去掉,然后用原文本的长度-去掉所有左括号的文本的长度,得到左括号的数量
将原文本最后一个左括号替换为“@”,
找到替换后文本中@的位置
利用right函数将@位置后的文本截取出来
具体公式如下:
1-3步

=SEARCH("@",SUBSTITUTE(A2,"(","@",LEN(A2)-LEN(SUBSTITUTE(A2,"(",""))),1)
第4步:

=RIGHT(A2,LEN(A2)-B2)
这样在C列就得到了比较规整的区的数据,然后把所有的右括号“)”替换为“”,接下来只要对C列按“、”顿号进行分列即可将这些区取出来了。

这样就能得到规整的区,我们将他放到一个新的sheet里

至此,完成任务,喝奶茶去了。