动手操作是熟练掌握EXCEL的最快捷途径! 【置顶公众号】或者【设为星标】及时接收更新不迷路 小伙伴们好,文本处理始终是我们日常工作中的主要内容之一。熟练掌握一些基本的文本处理函数及技巧,有助于我们大大提高工作效率。今天就来和大家分享这样一道题目。 我们需要把A列中的字符串分解成如C列到F列一样。 观察一下这组源数据。它是由数字和文本构成的,而且并没有特别明显的排列规律。字符串以城市名称开头,后接“分行、总部、公司”等字符,除此以外,没有特别明显的规律。 老虎吃天,该如何下口呢? 上面提到了,唯一可以利用的有规律的信息就是“分行、总部、公司”等字符。这是我们可以考虑使用FIND函数来进行查找,就可以确定城市名称的具体位置了。 首先选中单元格区域C1:C4,然后在编辑栏中输入公式“=LEFT($A$1:$A$4,FIND({'分行';'公司';'总部';'公司'},A1:A4)+1)”,三键回车即可。 思路:
接下来我们提取人名信息。我们知道可以利用SERACHB函数来查找到第一个单字符字节的位置,方法就是查询一个问号“?”就可以了。这样,人名起止字符的位置信息就知道了,接下来再利用MIDB函数提取人名信息。 同样,首先选中单元格区域D1:D4,再输入公式“=MIDB($A$1:$A$4,LENB($C$1:$C$4)+1,SEARCHB('?',$A$1:$A$4)-LENB($C$1:$C$4)-1)”,三键回车。 思路:
提取到人名后我们继续来提取数字。数字提取的方法很简单,还是利用SEARCHB函数。 选中单元格区域E1:E4,输入公式“=MIDB($A$1:$A$4,SEARCHB('?',$A$1:$A$4),2*LEN($A$1:$A$4)-LENB($A$1:$A$4))”,三键回车。 思路:
最后我们来提取部门。最开始时我写了一个很长的公式“=RIGHT(MIDB($A$1:$A$4,SEARCHB('?',$A$1:$A$4),100),LENB(MIDB($A$1:$A$4,SEARCHB('?',$A$1:$A$4),100))-LEN(MIDB($A$1:$A$4,SEARCHB('?',$A$1:$A$4),100)))”,但其实并不复杂。还是利用了MIDB、LEN、LENB和RIGHT函数来完成的,思路和上面的一样。 但是后来考虑到可读性,我还是修改如下。 选择单元格区域F1:F4后输入公式“=RIGHT($A$1:$A$4,LEN($A$1:$A$4)-LEN($C$1:$C$4&$D$1:$D$4&$E$1:$E$4))”,三键回车。 思路非常简单,用字符串的总长度减去前面已经提取到的字符串的长度,再用RIGHT函数提取部门即可。 |
|