时间:2022-02-28 12:41作者:admin来源:未知人气:3641我要评论(0)
日常工作中,经常会遇到数据较乱的表格,如何清洗这些数据,难免会让人头疼。
下图中B列为员工出差手填费用,规则较乱,没规律可循,那么如何从中提取金额呢?
今天介绍三种小技巧从文本中提取数字,总有一种适合你哦~
Ctrl+E快捷键组合可以说是Excel中最强组合之一,可以解决大量有规律可循的数据,直接在C2单元格内输入B2单元格内的数字“118”,选中C2:C8,同时按下【Ctrl】+【E】键,完成快速填充,可以发现,文本中的数据已经被提取出来!
第一步,先将B列数据复制到Word中,粘贴方式为【链接与使用目标格式】
第二步,同时按下【Ctrl】+【H】键,弹出替换框,在查找内容框中输入:"[!0-9]",点击【更多】按钮,勾选【使用通配符】,点击【全部替换】,即可将文本中的非数字全部替换为空。
通配符[0-9]表示0-9之间的数字,前面"!"表示非的意思,非0-9,非数字全部被替换,只会留下数字,这是再将数字复制回Excel单元格即可。
在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的好处在于代码可反复利用,下次遇到类似的需求,简单修改下代码即可。
相关阅读 Excel有哪些常用的数学函数?Excel取消表格中虚线的两种方法Excel最常见的「错误值」,这些含义你都知道吗?实现快速找出Excel表格中两列数据不同内容的3种方法!如何利用Excel一键提取身份证的这些重要信息,公式直接套用!Excel如何制作动态红绿灯,工作可不要亮红灯哦Excel身份证号大探索excel如何根据日期按月汇总计算公式Excel浪漫表白公式,发给心仪的她/他Excel表格如何自动求和
热门文章 excel 两表数据快速对比,高手都是这样做,四种方法随你选.xlsm是什么文件格式,以及xlsm文件怎么打开的方法excel if函数如何多个条件并列excel中计算加权平均数的公式:用SUMPRODUCT和SUM函数计算加权平均
最新文章
Excel有哪些常用的数学函数?Excel取消表格中虚线的两种方法
Excel最常见的「错误值」,这些含义你都知道吗?实现快速找出Excel表格中两列数据不同内容的3种方法!如何利用Excel一键提取身份证的这些重要信息,公式直接套用!Excel如何制作动态红绿灯,工作可不要亮红灯哦
人气排行 excel 两表数据快速对比,高手都是这样做,四种方法随你选.xlsm是什么文件格式,以及xlsm文件怎么打开的方法excel if函数如何多个条件并列excel中计算加权平均数的公式:用SUMPRODUCT和SUM函数计算加权平均excel中IF条件函数10大用法完整版,全会是高手,配合SUMIF,VLOOKUPexcel中COUNTIFS函数9种高级用法详解,条件统计重复值,告别加班涨工如何解除Excel VBA工程密码excel 如何根据身份证号码提取户籍所在省份地区函数公式
盖楼回复X
(您的评论需要经过审核才能显示)
查看所有0条评论>>