Excel⼩技巧|三种⽅法提取⽂本中的数字⽇常⼯作中,经常会遇到数据较乱的表格,如何清洗这些数据,难免会让⼈头疼。excel最强教科书完全版pdf
下图中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的好处在于代码可反复利⽤,下次遇到类似的需求,简单修改下代码即可。
⼩结

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。