乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > 请问<em>EXCEL</em>如何去掉一个单元格里的英文和数字,只保留文字呢...

请问<em>EXCEL</em>如何去掉一个单元格里的英文和数字,只保留文字呢...

作者:乔山办公网日期:

返回目录: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)再把提取出来的英文字符用-连接起来

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网