在以前的文章《excel mid函数典型实例》中介绍了MID函数的用法,本文看看一个非常相似的函数:midb函数的使用。
第一,midb函数的用法介绍
midb函数与mid函数的区别是什么呢?其实就是单字节与双字节问题,前者取字节,后者取字符,在无汉字的情况下,midb函数与mid函数相当。
MID函数返回文本字符串中从指定位置开始的特定数目的字符,该数目由用户指定。
MIDB函数根据指定的字节数,返回文本字符串中从指定位置开始的特定数目的字符。
midb函数与mid函数的语法如下:
MID(text, start_num, num_chars)
MIDB(text, start_num, num_bytes)
第二,midb函数举例分析
=MID("blwbbs部落窝论坛",2,6):返回从“blwbbs部落窝论坛”中第2个字符开始的6个字符,即“lwbbs部”。
=MIDB("blwbbs部落窝论坛",2,6):返回从“blwbbs部落窝论坛”中第2个字节开始的6个字节,即“lwbbs”。
=MID("Fluid Flow",1,5),结果为:Fluid
=MID("Fluid Flow",7,20),结果为:Flow
=MID("Fluid Flow",20,5) ,结果为空。
第三,midb函数实例部分
如何在单双字节字符混合的字符串中查找第一个单字节字符?即常规的英汉混合中查找英文字母、汉数混合中查找数字。
例如:“中国有56个民族”中,第一个单字节字符为5。
“部落窝论坛blwbbs.com欢迎光临”中第一个单字节字符是b。
假设上面的字符在A1单元格,B1输入公式:=MIDB(A1,SEARCHB("?",A1),1)
SEARCH函数可以支持通配符,对于单、双字节字符都是按一个字符算长度1;
SEARCHB函数也支持通配符,不过对于双字节字符,是按一个字符算长度2计算的。
"?"是通配符,代表任意单个字符(从结果看,确切的说,在区分单双字节时,是代表单个单字节字符)
因此,=SEARCHB("?","中国有56个民族")——找到第一个单字节字符即数字5的位置:7(3个双字节字符*2+1)。配套用MIDB代替MID,也是区分单双字节字符。
Excel中midb函数就介绍这些了。