http://www.pptjcw.com

表格制作excel教程:字符拆分,几个常用公式请收好

    我们来看这样一组数据:

    表格制作excel教程:字符拆分,几个常用公式请收好

    怎样用公式将A列的数据分别提取到B、C列呢?

    先来仔细看看原始数据,进行简单的分析。

    通过观察,我们发现,这些数据全都是中文与字母数字的区分,而字母数字的部分恰好是7位长度,于是根据文本函数,在C2单元格很容易得到:
    =RIGHT(A2,7)

    那么B列的产品名称呢?就是把型号删除的部分,那就把字母数字替换掉就行啦,借用C2已经得到的结果,我们在B2写下这样的公式:
    =SUBSTITUTE(A2,C2,””)

    进一步观察,发现每一个数字都是以0开头,而中文是在数字0前面两位之前的部分,根据这个特点,可以使用FIND函数来查找0的位置。
    =FIND(0,A2)

    综合使用,在B2写公式:
    =LEFT(A2,FIND(0,A2)-2)

    在C2写公式:
    =MID(A2,FIND(0,A2)-1,99)

    这样的题目,我们使用两种方法搞定,只需要耐心一些,仔细分析数据特点就好。

    如果数据中的型号,并不是固定的7位长度,也没有固定的字符,而是像下面这样的数据的话,那该怎么处理呢?

    表格制作excel教程:字符拆分,几个常用公式请收好

    首先补充一个基础知识:
    字符与字节的区别
    每一个英文字母、数字、以及英文状态下的标点符号,都是1个字节宽度;
    每一个中文字符、以及中文标点符号,都是2个字节宽度。
    函数LEN始终将每个字符(不管是单字节还是双字节)按1计数,数LENB会将每个双字节字符按2计数,否则,函数LENB会将每个字符按1计数。

    有了这样的一个基础概念,我们来看看处理方案:
    首先通过长度的差异来取值:
    =LEN(A2)

    返回的结果是9,因为A2单元格有9个字符。
    =LENB(A2)

    返回的结果是12,因为A2单元格的3个汉字每个占2个字节宽度,再加上6个英文、数字每个占1个字节宽度,总计12字节的宽度。

    仔细观察:
    LENB(A2)-LEN(A2)的这个差值,恰好等于3,就是A2单元格中汉字的个数。
    LEN(A2)-(LENB(A2)-LEN(A2)),通过LEN减去汉字的长度,恰好就等于剩下的字母、数字的长度6。

    做好以上铺垫,于是在B2写公式:
    =LEFT(A2,LENB(A2)-LEN(A2))

    在C2写公式:
    =RIGHT(A2,LEN(A2)*2-LENB(A2))

    就完美的分别提取产品和型号到B、C列当中。

    思路决定了你的公式是什么样子。写公式,一定是先有思路,再“翻译”成公式。

    提示:如果您觉得本文不错,请点击分享给您的好友!谢谢

    上一篇:excel函数教程:同比和环比,不用公式也能算 下一篇:excel表格制作:IF函数,你真的了解她吗?

    郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。