Excel精英培训网

 找回密码
 注册
数据透视表40+个常用小技巧,让你一次学会!
查看: 6249|回复: 9

[已解决]从右至左在第一个英文字母后分列

[复制链接]
发表于 2014-10-15 13:34 | 显示全部楼层 |阅读模式
本帖最后由 bosao 于 2014-10-15 13:37 编辑

如下,需将A列从右至左在第一个英文字母后进行分列。
A100A-042100A003                  A100A-042100A
B2320B-204000B                      B2320B-204000B
D10D-201006A001~004         D10D-201006A
X300N-201005C005                  X300N-201005C
请帮忙解答,谢谢

最佳答案
2014-10-15 13:59
数据在A列时,B1单元格复制以下公式,下拉;
=LEFT(A1,FIND("-",A1)+7)
excel精英培训的微信平台,每天都会发送excel学习教程和资料。扫一扫明天就可以收到新教程
发表于 2014-10-15 13:59 | 显示全部楼层    本楼为最佳答案   
数据在A列时,B1单元格复制以下公式,下拉;
=LEFT(A1,FIND("-",A1)+7)

点评

观察确实仔细,只是楼主数据是否真的都有这规律?  发表于 2014-10-15 14:21

评分

参与人数 4 +31 金币 +5 收起 理由
bosao + 1 谢谢!等级目前最多只能选择+1
1091126096 + 21 赞一个!
蓝粆 + 5 + 5 赞一个!神一般的观察力~!
yuan1987 + 4 赞一个!

查看全部评分

回复

使用道具 举报

发表于 2014-10-15 14:19 | 显示全部楼层
  1. =LEFT(A1,MATCH(0,IF(CODE(MID(A1,ROW($1:99),1))>64,ROW($1:99),0))+1)
复制代码

点评

把波浪号换成大写A试试~^^  发表于 2014-10-15 14:48

评分

参与人数 1 +10 金币 +10 收起 理由
蓝粆 + 10 + 10 赞一个!

查看全部评分

回复

使用道具 举报

 楼主| 发表于 2014-10-15 14:23 | 显示全部楼层
谢谢baksy,我一直在想怎么区别英文与数字,严重的钻牛角尖了,没想到利用中间字符串都是6位的特点,就解决了。
回复

使用道具 举报

发表于 2014-10-15 14:48 | 显示全部楼层
1091126096 发表于 2014-10-15 14:19

统计都是根据原始数据统计的,能满足现实要求就是答案。
如果考虑数据变化,3楼的公式也不一样吗?
把波浪号换成大写A试试~^^

点评

楼主已经说了,数据确如你所料有规律,当然是你的公式是简单。我只看楼主的文字说明,从右至左在第一个英文字母后,~改A,男就截至这个A了。  发表于 2014-10-15 15:01
回复

使用道具 举报

发表于 2014-10-15 15:04 | 显示全部楼层
本帖最后由 baksy 于 2014-10-15 15:24 编辑

B1单元格,也可以用以下公式;
=LEFT(A1,MAX(IF(MID(A1,ROW($1:$99),1)>="A",ROW($1:$99),0)))
三键回车(公式复制后,点一下公式编辑栏的任意位置,先按住 ctrl、shift 两个键,然后敲enter键)。
回复

使用道具 举报

 楼主| 发表于 2014-10-15 15:40 | 显示全部楼层
上午找到一个公式,也是和3楼一样,使用数组及条件进行分列,3楼使用返回字符代码进行比较的方式是今天的又一收获,又有一问题,式中ROW($1:99)起什么作用呢,ROW不是指行号吗?
回复

使用道具 举报

发表于 2014-10-15 15:46 | 显示全部楼层
bosao 发表于 2014-10-15 15:40
上午找到一个公式,也是和3楼一样,使用数组及条件进行分列,3楼使用返回字符代码进行比较的方式是今天的又 ...


ROW(1:99)是从1到99的连续的数字,
就和ROW(A1:A99)一样。
回复

使用道具 举报

 楼主| 发表于 2014-10-15 16:10 | 显示全部楼层
明白了,也就是依次从1~99个字符处开始提取一个字符进行比较(99,可根据实际最大字符串进行调整),以确认是否为英文,并记下英文所在字符位置形成一个集群,再在这个集群中取最右边的最大值进行截取。
再次感谢两位的解答!
回复

使用道具 举报

发表于 2014-10-15 16:43 | 显示全部楼层
bosao 发表于 2014-10-15 16:10
明白了,也就是依次从1~99个字符处开始提取一个字符进行比较(99,可根据实际最大字符串进行调整),以确认 ...

就是这个意思。
另,
回帖时在相应帖子下面回复,不然对方看不到提示。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|Excel精英培训 ( 豫ICP备11015029号 )

GMT+8, 2024-4-18 16:21 , Processed in 0.360063 second(s), 10 queries , Gzip On, Yac On.

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表