作者simayi (simayi)
看板Office
标题[算表] Excel 关於资料剖析VBA问题
时间Fri Jan 20 19:31:10 2017
软体:Excel
版本:2016
想请问版上前辈们一个问题
关於Excel 资料剖析
想用VBA的方式来呈现
http://imgur.com/a/EgBKe
上面的图
A栏的部分是比赛结果
B栏的部分是失分
储存格A2内的意思是
A1队得117分 A2队得106分
以此类推
但他们都是写在同一储存格内
队伍名称的长度不一
有些队伍名称可能含有英.数字
但可以确认的是
队伍的最後一个字一定是中文字
我的问题是
请问有办法只取
"-"前面 [数字] 的部分吗
把它分割出来放到B栏中
也就是失分的地方
再麻烦版上的前辈帮忙
无论如何
先谢谢你们了
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 111.248.128.123
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/Office/M.1484911873.A.18F.html
2F:→ simayi: 太好了 非常谢谢你的帮忙s大 01/20 20:23
3F:→ soyoso: 巨集的话想到二种方式 01/20 21:42
4F:→ soyoso: 1.以instr找"-",取"-"前字串 01/20 21:43
5F:→ soyoso: mid回圈for..next反序判断非数字isnumeric,找到脱离回圈 01/20 21:43
6F:→ soyoso: for exit,最後再以脱离时回圈变数,配合mid来取得数字 01/20 21:43
7F:→ soyoso: 2.正规化,pattern以"[\u4e00-\u9fa5][0-9]{1,3}\-" 01/20 21:43
8F:→ soyoso: 取得的字串再以mid和replace调整 01/20 21:43
9F:→ soyoso: 或以"\S*[\u4e00-\u9fa5]([0-9]{1,3})\-\S*" 01/20 21:50
10F:→ soyoso: 正规化的replace取$1 01/20 21:50
11F:→ soyoso: 更正,应为正规表示而非正规化 01/21 10:07