有时候excel里有除了中文外的字符,我们不想要怎么办?手动删?你out了
直接输入公式=MID(A19,MATCH(" ",MIDB(A19,ROW(INDIRECT("1:"&LENB(A19))),1),),LENB(A19)-LEN(A19))
然后按ctrl+shift+enter,奇迹出现
解题的思路是,先判定首个汉字的位置,然后计算汉字的个数,最后用MID来提取之。
公式的关键,是根据字节查找。
简单的说,字符有单字节和双字节两种类型,英文字母、数字、符号属于单字节,汉字属于双字节。
比如“汉”,这是一个字符,两个字节。
LEN返回字符串中字符的个数,它是按字符来计数,不论单字节还是双字节,都记为1,LENB也返回字符串中字符的个数,和LEN所不同的是,它是按字节来计数,单字节,记为1,双字节(即汉字),记为2。
LEN(“汉”)的结果是1,汉是一个字符。
LENB(“汉”)的结果是2,汉是两个字节。
同理,下面这个公式可以返回一个字符串中汉字的个数。
LENB(B3)-LEN(B3)
MIDB函数和MID函数类似,自字符串的指定起始位置,提取指定长度的字符串。和MID函数所不同的是,MID是按字符长度来提取,MIDB则是按字节长度来提取。
还是比如“汉”。
MID(“汉”,1,1),自第一个位置,提取一个字符,结果为汉。
MIDB(“汉”,1,1),自第一个位置,提取一个字节,由于”汉”是两个字节,只提取一个字节的话,结果为——空格。
INDIRECT是对单元格的引用。
标签:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。