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,"汉字")就可以把第一列中的汉字提取出来,后面的数字和英文,只需要修改第二个参数即可。


这样一个简单的数据提取功能就实现了,是不是很简单?

相关文章
|
6月前
|
JavaScript
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
JS自动生成速记符、拼音简写/拼音的声母(例如:“你挚爱的强哥”转换为“NZADQG”)。提取首字母,返回大写形式;提取拼音, 返回首字母大写形式(全拼)。
正则表达式开头提取前三个数字
正则表达式开头提取前三个数字
|
6月前
|
Python
Python小技巧:判断输入是否为汉字/英文/数字
Python小技巧:判断输入是否为汉字/英文/数字
|
6月前
Excel表格文件行与列均用数字而非字母表示的方法
Excel表格文件行与列均用数字而非字母表示的方法
|
数据库
轻松解决汉字和拼音转换问题!!
轻松解决汉字和拼音转换问题!!
200 0
|
C#
C#中汉字排序简单示例(拼音/笔划)
可以按照区域语言修改排序规则。 class Program { static void Main(string[] args) { string[] arr = { "趙(ZHAO)", "錢(QIAN)", "孫(SU...
2507 0
Excel提取中文,数字和字母,一分钟搞定!
大家在处理Excel文档,经常会遇到一些将数字,字母,汉字混合在一起的数据,看着就头疼。而往往领导又希望我们将这些数据拆分开,一边咒骂那个录数据的人,一边又在苦恼该怎么办。 今天教大家一分钟搞定这种情况。
Excel提取中文,数字和字母,一分钟搞定!