MID/MIDB/MATCH函数组合获取任意位置的汉字

问题:字符串中的汉字单词只有一处,可能位于开头、中间或结尾的位置,用公式提取汉字

知识准备:

  • 函数:MID/MIDB/ROW/LEN/LENB/MATCH
  • 汉字是宽体字符,使用MID/LEN函数时一个汉字占一个位置,使用MIDB/LENB函数时一个汉字占两个位置。
  • LENB-LEN就是汉字的长度
  • MIDB拆分字符串时,汉字会被拆分成两个空格

组合公式:

=MID(A2,MATCH(' ',MIDB(A2,ROW($1:$99),1),),LENB(A2)-LEN(A2))

这个公式比较难理解的地方在MATCH组合,认真观察,就会发现MIDB函数就是将A2单元格的字符串根据单字节进行拆分,拆分成单个的单字节字符,由于汉字是宽体字符,在这个拆分过程中,就会被拆分成两个空格,那么MATCH就是用来查找第一个空格的位置,将MATCH的结果作为汉字拆分的起点。

我们用公式运行过程来查看,为了便于查看,我们把ROW($1:$99)改成ROW($1:$9),其实这个就是预测字符串的最大长度,例子中的字符串都是5个字符,所以9足够了。

这个组合是数组函数,需要用CTRL+SHIFT+ENTER三键结束,运行后我们来观察:

这一步的时侯ROW($1:$9)转成数组{1;2;3;4;5;6;7;8;9},就是要把字符串从第一个字符开始,一个一个的拆分开。

这一步我框起来的位置就是汉字被拆分成空格的地方,两个汉字拆分成了4个空格,MATCH查找空格的位置,对应第一个空格的位置就是1。

LENB-LEN的结果是2,就是我们要截取的汉字的长度。最后的MID函数,就是把“你好123”从第一个字符开始,截取2个字符,结果就是“你好”。

这个公式组合中用到的都是最常用的函数,组合在一起就能得到非常完美的结果。

如果要学习更多函数知识,请订阅函数专栏:

专栏
Excel函数详细讲解
(0)

相关推荐