【Excel】函数-分离包含"拼音+数字编号"组合的单元格

 

在上次写的对于“汉字+数字”组合的单元格,通过函数进行分离的方法,但是这边刚发出来,就有读过...



在上次写的对于“汉字+数字”组合的单元格,通过函数进行分离的方法,但是这边刚发出来,就有读过的朋友说了,要是“外国人名+数字编号”组合咋整?这种方法岂不是不灵了?没错,如果是外国人名或者汉语的拼音与数字组合的,就不能用昨天的方法进行处理了;

我们今天来一起研究下“Louis136363136”这样类型的单元格,如何对其进行分离;

  1. 如下图;A列是不同的“英文字符+数字”相结合的单元格,要想对其进行分离,首先必须要找到每个单元格的第一个数字的位置,比如A2中的数字1的位置为5,这样5-1=4,就是左边的拼音字符数,然后就可以用left()进行提取;而右侧数字数长度为len(A2)-4,这样就可以用right()函数进行提取;
  2. 但是问题的关键是如何找到第一个数字的位置呢?这里我们需要用到一个稍微复杂点的函数公式了(数组公式)=MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2,1),100)),大家再图中会发现公式的两边会有个大括号{},这是因为平时我们在输入完公式后,直接按回车进行确认的,但是今天这里我们需要按三个键来进行确认(ctrl+shift+enter),当你确认后,公式两边会自动加上大括号,这样就可以计算出1的位置为5,然后我们在公式后边-1,就可以计算出左侧的拼音的长度了;
  3. 拼音的长度==MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2,1),100))-1,这样左侧的的提取就为=LEFT(A2,MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2,1),100))-1),不要忘记,在确认的时候需要按ctrl+shift+enter来进行确认;
  4. 右边数字的长度=LEN(A2)-MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2,1),100))+1;这样右侧的提取就是=RIGHT(A2,LEN(A2)-MIN(IFERROR(FIND({0,1,2,3,4,5,6,7,8,9},A2,1),100))+1);同样的不要忘记按ctrl+shift+enter来进行确认;

注:1,公式中的大括号千万不要手动敲入,这是使用数组的一个特别用法,您只需要按三个键子来确认,自动会出现大括号;

2,关于这个公式里的每一步是干啥用的,我就先不解释了,因为解释数组公式的复杂程度,要远大于这个问题本身,等将来我们一起学习的函数案例多了,再一起研究如何使用数组;

3,A3单元格中的阿毛是我大学同学,我们关系非常好,很多年不见,甚是想念,特在案例用他的外号表示想念;

2016.04.20

祝大家工作顺利愉快~

如您有疑问或建议请联系我~

欢迎大家转发~希望我的一点分享可以帮助到更多的人;

任钊

Office/Project企业办公培训讲师~

微信/QQ:94573068

微软最有价值专家MVP

美国项目管理协会PMP



欢迎关注疑点老师办公技术分享:


    关注 疑点老师


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册