分享

Excel018-文本截取函数三剑客-MID

 Jack真英雄 2017-06-09

▲本期分享技能请观看



无论是LEFT函数还是RIGHT函数,截取的位置都有一定局限性,今天我们要分享的MID函数,可以随心所欲的截取文本,想从哪开始就从哪开始。



我们来看看MID函数解析。3个参数:

①要截取的文本(字符串)

②从哪个位置开始截取

③要截取的字符个数



还有一个与MID相似的函数MIDB,参数跟MID相同,第3个参数是按字节截取,区别只有在截取文本有汉字的情况下才会显现。通常一个汉字代表两个字节,一个英文字母或者数字代表一个字节。



下面我们通过案例来看看MID函数的实际应用吧!


案例1:将下表中各城市的平均工资提取出来。



之前我们用RIGHT函数和LEFT函数结合起来做过这个案例,很多小伙伴反映那种方法太复杂了,根据数据的特性,我们用MID 函数能够很轻松的完成。具体方法如下:


①在B2单元格录入公式:=MID(A2,4,4)

②下拉填充公式。


案例2:将下表中的中英文分别提取出来。



这个案例似乎困扰了很多小伙伴,经常在论坛或者百度搜索中看到有网友提出类似问题,学会了这个案例,我们还可以举一反三,学会如何将汉字和数字分离。具体方法如下:


提取英文的方法:


①在B9单元格录入公式:=RIGHT(A9,LENB(A9)-SUM(N(MIDB(A9,ROW($1:$20),1)=' '))) 

②下拉填充公式。


友情提示:公式需要CTRL+SHIFT+ENTER三键结束。


公式解析:


ROW($1:$20)是用来创建一个1-20的数组,这样我们使用MID函数的时候可以从第1位,第2位……第20位开始提取,可以获得20个结果,这个数组的大小要以文本字符串的最大长度为准。


例如:MIDB(A9,ROW($1:$20),1)最终得到的结果是:


{' ';' ';' ';' ';'a';'p';'p';'l';'e';'';'';'';'';'';'';'';'';'';'';''}


MIDB(A9,ROW($1:$20),1)=' ' 我们巧妙的应用了MIDB函数截取中文时如果对汉字只截取一个字节会显示为空格的特点,来确定汉字的字节数。


例如:MIDB(A9,ROW($1:$20),1)=' '最终得到的结果是:


{TRUE;TRUE;TRUE;TRUE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE;FALSE}


N()函数是用来将数字文本或者是逻辑值转换为数字的函数。


例如:N(MIDB(A9,ROW($1:$20),1)=' ')最终得到的结果是:


{1;1;1;1;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0}


SUM()求和函数用来求出汉字的字节数。

LENB()用来求出整个文本字符串的字节长度。

LENB(A9)-SUM(N(MIDB(A9,ROW($1:$20),1)=' ')用来表示整个字符串的字节长度减去汉字的字节长度,得到的就是英文的字节长度,这样我们再用RIGHT 函数截取就大功告成了。


提取中文的方法:


①在C9单元格录入公式:=LEFT(A9,SUM(N(MIDB($A9,ROW($1:$20),1)=' '))/2) 

②下拉填充公式。


友情提示:公式需要CTRL+SHIFT+ENTER三键结束。


由于大部分公式和提取英文的方法一致,此处不再赘述。之所以要除以2是因为一个汉字代表2个字节,要想获得汉字的字符数,就需要除以2。如果不想除以2,那就用LEFTB函数进行截取就可以了。



今天的内容就分享到这里,非常感谢大家一直以来对布衣公子的关注和支持!如果您有任何PPT和Excel技能方面的问题,您可以给公子留言,有可能您的问题就会在下一个视频中出现!


本篇文章匹配的相关PPT、视频、Excel演示课件及WORD教程下载:

https://pan.baidu.com/s/1gfKf53X



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多