数组公式提取单元格内第一个汉字前的字符串

2022-08-18发布者:ylm大小: 下载:0

文件大小:

软件介绍

image.png


=MATCH(TRUE,MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)>"吖",)

  上述两个公式为数组公式,需按Ctrl+Shift+Enter结束,下同。

  说明:

  1.第一个公式先用MID函数将单元格内文本的各个字符放置到一个数组,再用LENB函数判断各字符的长度,LENB函数对于单字节字符返回“1,”,而对于汉字(双字节)返回“2”。最后用MATCH函数判断第一个“2”的位置,即第一个汉字的位置。

  2.第二个公式中,先用MID函数将单元格内文本的各个字符放置到一个数组,然后将每个字符与“吖”字比较。对于常用汉字,比较后的结果会返回 “TRUE”,因为在Excel中汉字也如同其他单字节字符一样可以进行比较,“吖”字在常用汉字中“最小”,因而用其与其他汉字比较。如

  ="吖"<"一"

  返回TRUE。

  最后用MATCH函数判断第一个“TRUE”的位置,即第一个汉字的位置。

  对于一些特殊的文本,例如文本的右侧全部为汉字,如上图A10单元格,可用下面的简单公式得到第一个汉字的位置:

  =2*LEN(A10)-LENB(A10)+1

  说明:“2*LEN(A10)-LENB(A10)”返回A10单元格文本中单字节字符的数量。

  如果第一个汉字前的字符串中不包含空格,下面的数组公式也可返回第一个汉字的位置,例如A2:A7区域中的文本。对于A2单元格,数组公式:

  =MATCH(" ",MIDB(A2,ROW(INDIRECT("1:"&LEN(A2))),1),)

  将返回“4”。

  说明:MIDB函数对于汉字(双字节)按“2”计数,即按字节计数。MIDB函数对汉字每个字节会返回一个空格字符,如下面的公式:

  =MIDB("一",1,1)

  返回空格字符。而公式:
    =MIDB("一",1,2)
    返回汉字本身,即“一”字。
    公式最后用MATC函数返回第一个空格字符的位置,即第一个汉字的位置。
    取得第一个汉字的位置后,用LEFT函数即可提取第一个汉字前的字符串,如A2单元格,可用下面的数组公式:
    =LEFT(A2,MATCH(2,LENB(MID(A2,ROW(INDIRECT("1:"&LEN(A2))),1)),)-1)

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

版权声明:

1 本站所有资源(含游戏)均是软件作者、开发商投稿,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!

2 本站将不对任何资源负法律责任,所有资源请在下载后24小时内删除。

3 若有关在线投稿、无法下载等问题,请与本站客服人员联系。

4 如侵犯了您的版权、商标等,请立刻联系我们并具体说明情况后,本站将尽快处理删除,联系QQ:2499894784

返回顶部