您现在的位置:海陵智慧教育 >> 教师发展 >> 信息应用

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

作者:布衣天子 来源:网络 发布时间: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函数进行截取就可以了。

 

【字体: 】【收藏】【打印文章】【查看评论

相关文章

    没有相关内容