计算单元格内汉字个数的方法

有时需要在Excel中提取单元格内文本第一个汉字前的字符串,例如从“MD-T289(XQ01)黑色”中提取“MD-T289(XQ01)”。如果各单元格文本中首个汉字前的字符串长度不等,可用下面的一些数组公式。例如字符串在下图所示的A列单元格中,在B列提取第一个汉字前的字符串。

要提取第一个汉字前的字符串,首先要确定文本中第一个汉字的位置。确定文本中第一个汉字位置的公式有许多,如下面的几个公式,假如文本在A2单元格中:

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

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

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

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

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

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

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

返回空格字符。而公式:

返回汉字本身,即“一”字。

公式最后用MATC函数返回第一个空格字符的位置,即第一个汉字的位置。

取得第一个汉字的位置后,用LEFT函数即可提取第一个汉字前的字符串,如A2单元格,可用下面的数组公式:

我要回帖

更多关于 统计文本单元格个数 的文章

 

随机推荐