打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Excel小技巧|三种方法提取文本中的数字

日常工作中,经常会遇到数据较乱的表格,如何清洗这些数据,难免会让人头疼。

下图中B列为员工出差手填费用,规则较乱,没规律可循,那么如何从中提取金额呢?

今天介绍三种小技巧从文本中提取数字,总有一种适合你哦~

方法一 万金油快捷键Ctrl E

Ctrl E快捷键组合可以说是Excel中最强组合之一,可以解决大量有规律可循的数据。

直接在C2单元格内输入B2单元格内的数字“118”,选中C2:C8,同时按下【Ctrl】 【E】键,完成快速填充,可以发现,文本中的数据已经被提取出来!

方法二 Word Excel双剑合璧

第一步,先将B列数据复制到Word中,粘贴方式为【链接与使用目标格式】

第二步,同时按下【Ctrl】 【H】键,弹出替换框,在查找内容框中输入:'[!0-9]',点击【更多】按钮,勾选【使用通配符】,点击【全部替换】,即可将文本中的非数字全部替换为空。

通配符[0-9]表示0-9之间的数字,前面'!'表示非的意思,非0-9,非数字全部被替换,只会留下数字,这是再将数字复制回Excel单元格即可。

方法三 万能技术VBA

在Excel中,我们也可以利用正则表达式去提取文本中的数字。

打开visual basic,新建一个模块,插入代码,点击运行,可以发现,数字已经被提取出现。

具体代码展示如下

Sub 获取座位数()

Dim obj As Object

Dim a As Integer, i As Integer, j As Object, objs As Object

re = '\d '

Set obj = CreateObject('VBScript.RegExp')

With obj

.Global = True

.Pattern = re

End With

For a = 2 To Cells(Rows.Count, 1).End(xlUp).Row

Set objs = obj.Execute(Cells(a, 2))

i = 0

For Each j In objs

i = j i

Next

Cells(a, 3) = i

Next

MsgBox '已完成'           

End Sub

代码主要运用到正则表达式,【\d 】表示匹配一个或者多个数字,它会将匹配到的数字提取出来,在赋值到对应的单元格,VBA的好处在于代码可反复利用,下次遇到类似的需求,简单修改下代码即可。

小结

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
Excel VBA代码,用于在一个工作簿中选择包含特定文本字符串的单元格,然后将这些单元格复制并粘贴...
怎样在Excel中快速输入相同文本
原来Excel自定义格式可以这样玩
Excel数字格式的应用
excel混合文本删除数字
我经常使用的4个Excel小技巧,分享给你
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服