位置: IT常识 - 正文
日常工作中,经常会遇到数据较乱的表格,如何清洗这些数据,难免会让人头疼。有的规则较乱,没规律可循,那么如何从中提取数字呢?今天介绍三种小技巧从文本中提取数字,总有一种适合你
方法一:万金油快捷键Ctrl+E
Ctrl+E快捷键组合可以说是Excel中最强组合之一,可以解决大量有规律可循的数据,直接在C2单元格内输入B2单元格内的数字“118”,选中C2:C8,同时按下【Ctrl】+【E】键,完成快速填充,可以发现,文本中的数据已经被提取出来!
616/auto1686900743excel中提取部分数字(excel提取部分数据到另一文档)
方法 二:Word+Excel双剑合璧
1、先将B列数据复制到Word中,粘贴方式为【链接与使用目标格式】
2、同时按下【Ctrl】+【H】键,弹出替换框,在查找内容框中输入:"[!0-9]",点击【更多】按钮,勾选【使用通配符】,点击【全部替换】,即可将文本中的非数字全部替换为空。通配符[0-9]表示0-9之间的数字,前面"!"表示非的意思,非0-9,非数字全部被替换,只会留下数字,这是再将数字复制回Excel单元格即可。
方法三:万能技术VBA
在Excel中,我们也可以利用正则表达式去提取文本中的数字。
打开visualbasic,新建一个模块,插入代码,点击运行,可以发现,数字已经被提取出现。具体代码展示如下:
Sub获取座位数()
DimobjAsObject
DimaAsInteger,iAsInteger,jAsObject,objsAsObject
re="\d+"
Setobj=CreateObject("VBScript.RegExp")
Withobj
.Global=True
.Pattern=re
EndWith
Fora=2ToCells(Rows.Count,1).End(xlUp).Row
Setobjs=obj.Execute(Cells(a,2))
i=0ForEachjInobjs
i=j+i
Next
Cells(a,3)=i
Next
MsgBox"已完成"
EndSub
代码主要运用到正则表达式,【\d+】表示匹配一个或者多个数字,它会将匹配到的数字提取出来,在赋值到对应的单元格,VBA的好处在于代码可反复利用,下次遇到类似的需求,简单修改下代码即可。
这样Excel文本中提取部分数字就成功了
下一篇:空间留言频繁如何解除(空间留言删不掉了,显示操作频繁怎么办)
友情链接: 武汉网站建设