当前位置: 萬仟网 > Office>Excel>Excel > 如果长字符串超过15位用Excel LOOKUP函数提取出错的解决方案

如果长字符串超过15位用Excel LOOKUP函数提取出错的解决方案

2018年06月21日 17:56  | 萬仟网Office  | 我要评论

上一篇文章《》,读者看后提出了一个疑问,如果长字符串超过15位用LOOKUP函数提取出错,正确应该如何提取?

善于动脑思考是个好读者,长时间不动脑,脑子会生锈的。今天,小编就来聊一下字符提取的运用。

数字允许最多的位数为15位,超出部分就以0显示,所以这里不能用LOOKUP函数提取。身份证那么有规律,都是18位,提取是非常简单的。

=RIGHT(A2,18)

在很多时候,并不都是固定位数,就像每个银行的账号,位数是不一样的。

书籍也同样,分类也会有长短。

其实数字跟字母在某种情况下,可以划分为一类,今天重点讲这个,如何将位数不确定的字符分离?

在Excel中文状态下的标点符号和汉字都属于双字节,也就是用LENB函数统计的时候,一个字算两次。

在英文状态下的符号、字母和数字都属于单字节,也就是用LENB函数统计的时候,一个字算一次。

而用LEN函数统计出来都是一样的,一个就算一次。

为了更直观,将双字节的全部归为汉字,单字节的全部归为字母。

字节数:

=LENB(A2)

总字符数:

=LEN(A2)

汉字个数:

=B2-C2

汉字的字节数会比字母的字节数多1个,多3个就代表有3个汉字。

现在要提取右边的汉字,就变得很简单:

=RIGHT(A2,D2)

D2这个换成B2跟C2单元格的公式就变成最终的:

=RIGHT(A2,LENB(A2)-LEN(A2))

知道了汉字的个数,字母的个数也就出来了,也就是总字符数减去汉字的个数。

=LEN(A2)-(LENB(A2)-LEN(A2))

这个公式可以合并起来变成:

=2*LEN(A2)-LENB(A2)

现在从左边提取字母,公式也就出来了:

=LEFT(A2,2*LEN(A2)-LENB(A2))

前面的银行账号提取跟书籍分类提取,这个自己依样画葫芦就出来了。

其实Excel公式很有趣,有一点数学的思维,然后不断的动脑思考,一步步转换。自从迷上了公式,就不再玩游戏了,这个可比玩游戏有趣多了。

最后,除了函数公式,别忘了还有闪电填充。闪电填充犹如段誉的六脉神剑,发挥出来威力无穷,但时灵时不灵,可以参考阅读文章《当函数大神遇上了闪电填充》,字符提取有它更精彩

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

◎已有 0 人评论

Copyright © 2019  萬仟网 保留所有权利. 粤ICP备17035492号-1
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com