开发者社区> 游客gsgxy6yg6ydlm> 正文
阿里云
为了无法计算的价值
打开APP
阿里云APP内打开

Excel提取中文,数字和字母,一分钟搞定!

简介: Excel提取中文,数字和字母,一分钟搞定!
+关注继续查看

当你看到一份将数字,字母,汉字混合在一起的Excel文档是什么感觉?一定非常头疼,特别是领导还要你把这些数据给拆分出来。这时候如果你一个一个手动处理,那就非常低效了,职场上怎么可以低效工作?


今天教大家一分钟搞定这种情况。



示例数据

首先我们准备一份数据为例,大家可以手动输入到Excel中(PS:像这样的数据一般是通过某种方式从数据库中导出的时候,将多个字段导出到一列了。)

image.png


现在我们要将中文,数字,英文单独拆分为3列,拆分完后的结果应该如下,我们先看下预览效果:

image.png



方法一:快速填充

从Excel 2013版开始,就新添加的一个快速填充功能,处理这类数据非常高效,我这里使用的是Excel 2016版本的。我们只要写好例子,双击拖动然后选择自动填充即可,如下图:

image.png


此外快速填充还可以在开始菜单的右侧功能选项中找到,如下图:

image.png

或者你也可以使用快捷键【Ctrl+E】,只要选择示例单元格,同时按住Ctrl+E就可以立即向下实现快速填充的功能。


注意:如何还没将Excel更新到2013版本以上的,可以在公众号后台的菜单栏里获取Office 2016版本软件,安装即可获得Excel 2016了。


方法二:Word来帮忙

方法二稍微麻烦一点,但是也比一个一个拆分来的快,如果你的Excel还没有快速填充功能,我们可以将示例中的内容复制到Wold中,通过使用通配符依次获取到中文,数字和字母,如下图:

image.png


具体操作方法如下:

将Excel中被提前的列复制粘贴到word文档中,使用【Ctrl+A】全选文档内容,按住快捷键【Ctrl+H】打开替换功能,依次使用三种通配符保留所需的数据类型。

中文的通配符:[一-龥],上图中前面加了一个!,表示非中文字符的会全被匹配到替换,这里其实就是删除掉不需要的字符。

数字的通配符:[0-9]

字母的通配符:[a-zA-Z]

每次将替换后剩下的数据复制到Excel的新列即可。



方法三:自定义函数一键搞定

上面的方法不是有版本限制,就是有点麻烦,不能做到二者兼具。有没有更好的办法实现上面的功能呢?答案是肯定的!

这个时候就需要我们有一定的代码功底了,不错就是VBA。

按住快捷键【Alt+F11】打开VBA窗口,然后点击窗口上的【插入】——【模块】,在弹出的代码窗口中输入如下一段VBA代码:

Function TQ(rng As Range, Optional i As String = "数字")
With CreateObject("vbscript.regexp")
    Select Case i
        Case "数字": .Pattern = "\d"
        Case "字母": .Pattern = "[a-zA-Z]"
        Case "汉字": .Pattern = "[\u4e00-\u9fa5]"
    End Select
    .Global = True
     Set matches = .Execute(rng.Value)
     For Each Match In matches
     a = a & s & Match
    Next
    TQ = IIf(Len(a) > 0, a, "")
    End With
End Function


然后关闭即可在Excel中使用上面的自定义函数TQ()了,具体操作如下图:

image.png

将TQ函数像其他系统函数一样输入到后面的列中,并输入要提取的类型,例如想提前汉字我们只需要输入TQ(A2,"汉字")就可以把第一列中的汉字提取出来,后面的数字和英文,只需要修改第二个参数即可。


版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
SQL如何提取字符串中的中文和数字?
前天写了篇《SQL如何提取字符串中的字母?》,今天再教大家如何提取中文和数字。 其实方法都是类似的,只是我们需要调整一下正则表达式而已。
300 0
【Util】金额数字转中文大写
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.
728 0
毕业论文一次性修改所有字母和数字的字体
毕业论文往往最烦人的就是汉字用宋体,数字和字母要用Time New Roman,这些东西都是混排的,一处一处去改,不知道改到什么时候。其实利用word的替换功能很轻松就能搞定,下面图解常见方法(第6条描述的方法更简单)。
699 0
C#字母转换成数字/数字转换成字母 - ASCII码转换
字母转换成数字 byte[] array = new byte[1];   //定义一组数组arrayarray = System.Text.Encoding.ASCII.GetBytes(string); //string转换的字母int asciicode = (short)(array[0]); ASCII码 = Convert.
2935 0
61
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载
冬季实战营第三期:MySQL数据库进阶实战
立即下载