aspose excel中文文档_Excel提取中文,数字和字母,一分钟搞定

大家在处理Excel文档,经常会遇到一些将数字,字母,汉字混合在一起的数据,看着就头疼。而往往领导又希望我们将这些数据拆分开,一边咒骂那个录数据的人,一边又在苦恼该怎么办。

9635033fe3bf4ec78f9b5c6c2d976958.png

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

示例数据

以下图的数据为例

06e8163f451ff40f0a42a6b985b45484.png

我们想将中文,数字,英文单独分层3列来提取,提取完后的结果应该如下:

2190889b7d1fa6180eaf95556e550786.png

方法一:快速填充

Excel新添加的一个快速填充功能,处理这类数据简直就是神技,只要写好例子,双击拖动然后选择自动填充即可,如下图:

20b6255be645c5ba164950bad68c9436.gif

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

4e526a3dfc516a6cb8f641d54d29c4cb.png

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

方法二:Word来帮忙

我们将示例中的内容复制到Wold中,通过使用通配符依次获取到中文,数字和字母,如下图:

43fbecc7e4c4e240130637a946cff04b.gif

先选中文档内容,按住【Ctrl+H】打开替换功能,依次使用三种通配符保留所需的数据类型。因为我们是要保留相应的类型,所以将非该种类型的其他字符全部替换掉,剩下的就是我们需要的数据了。

匹配中文的通配符:[一-龥],上图中前面加了一个!,表示非中文字符的会全被匹配到替换。

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

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

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

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

上面的方法都不错,但是有没有更好的办法实现上面的功能呢?答案是肯定的。

我们可以直接通过VBA代码来自定义一个函数,完成上面的功能。

按住【Alt+F11】打开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 = "[一-龥]" 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 WithEnd Function

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

cffe3b438c56a9c73af5b3387d18318a.gif

这样一个简单的数据提取功能就实现了。

觉得不错,欢迎分享给更多人

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值