返回目录:excel表格制作
1、打开需要操作的excel文件,如下图复的文件;
2、提取单元制格A1中的数字,结果百保存在B2,在B2单元格输度入=LOOKUP(9E+307,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&1234567890)),ROW($1:$9))),如下图所示:
3、输入后按回车键查看结果,如下图所示:
我已经把所有的演示步骤录下来了,请查看下面动画:
http://hiphotos.baidu.com/dhxmr1110/pic/item/35a0375a59b9e3b3800a183a.jpg
宏最方便了。e68a84e8a2ade799bee5baa6331
打开excel,alt+F11,右侧你的文件VBAProject(***.xls),右击“插入--模块--双击模块,把下面代码粘贴进去,保存退出。重新打开excel,启用宏,就可以用了,具体A2=取值(取值(A1,"-zm"),"-sz")就可以得到了。
Function 取值(rng, types As String) As String
Dim obj As Object
Set obj = CreateObject("VBSCRIPT.REGEXP")
With obj
.Global = True
If types = "-hz" Then
.Pattern = "[一-﨩]"
ElseIf types = "-zm" Then
.Pattern = "[a-zA-Z]"
ElseIf types = "-sz" Then
.Pattern = "\d"
ElseIf types = "+hz" Then
.Pattern = "^[一-﨩]"
ElseIf types = "+zm" Then
.Pattern = "[^a-zA-Z]"
ElseIf types = "+sz" Then
.Pattern = "[^0-9]"
End If
取值 = .Replace(rng, "")
End With
End Function
'使用说明:
'去汉字:=取值(A2,"-hz")
'取汉字:=取值(A2,"+hz")
'去字母:=取值(A2,"-zm")
'取字母:=取值(A2,"+zm")
'去数字:=取值(A2,"-sz")
'取数字:=取值(A2,"+sz")
选中这一列,点“数据”--分列--选分隔符号--选其他---输入“(”,完成分列后,再做一次按“)”分列,两次做完后,英文一列,中文一列,英文一列。再删除不需要的列。
1)先分列,以-作为分隔符
2)用find函数查找(和)的位数,用mid函数提取中间的字符
3)再把提取出来的英文字符用-连接起来