举一个工作中经常会出现的例子,如下所示,有一列数据是姓名 数字写在一块的,不便于数据分析,那么我们需要将两列拆开来
A列的数据中,有汉字,也有数字,汉字和数字的长度都不固定,如何进行快速的拆分?
1、文本函数提取法在使用这个函数之前,我们来了解下Excel中的字符和字节的关系
字符在Excel里面是用len()函数来计算的
字节在Excel里面是用lenb()函数来计算的
对于汉字和中文状态下的标点,每个字符的字节是2个
对于数字和英文标点,或者大小写字母,每个字符的字节也是1个
根据这个规则,我们先来分析下我们需要分解的单元格里面字符和字节的个数情况
一个字符串,张飞123435,汉字有2个,数字有6个,字符的个数是
2 6=8,1个汉字是2个字节,所以字节的个数是:
2*2 6=10
假如汉字有a个,数字有b个,那么
a b=len()
2a b=lenb()
解这个一元二次方程,得到的结果是:
a=lenb()-len()
b=2len()-lenb()
=LENB(A3)-LEN(A3)
在C3输入的公式是:
所以根据上面的公式,我们可以计算出来汉字和数字的个数
在B3输入的公式是:
=LENB(A3)-LEN(A3)
在C3输入的公式是:
=2*LEN(A3)-LENB(A3)
既然知道了汉字和数字的个数,我们再搭配LEFT和RIGHT函数就可以提取出来了
在B3中输入的公式是:
=LEFT(A3,LENB(A3)-LEN(A3))
在C3中输入的公式是:
=RIGHT(A3,2*LEN(A3)-LENB(A3))
有小伙伴会问了,这10秒钟也不够得到结果啊,我们介绍第2种方法
使用CTRL E快速填充法在2013及以上的版本里面,有一个快速填充的方法,快捷键是CTRL E,对于这类问题,10秒钟就够了, 我们首先手动输入好一组我们想要的数据,然后在单元格的下方,按CTRL E即可,操作的动图如下所示:
这个方法是不是很快呢,还能应用提取各种特殊的字符串,自己动手试试吧~
上篇: