数字文本递增复制.lsp_三种方法轻松学,Excel提取数字就是这么简单

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

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

fcc9c6fdf7bc30438beabc074754b7e6.png

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

方法一:万金油快捷键Ctrl+E

Ctrl+E快捷键组合可以说是Excel中最强组合之一,可以解决大量有规律可循的数据,直接在C2单元格内输入B2单元格内的数字“118”,选中C2:C8,同时按下【Ctrl】+【E】键,完成快速填充,可以发现,文本中的数据已经被提取出来!

8de4486082c639193fb2ad8bda12dd09.gif

方法二:Word+Excel双剑合璧

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

f0931020eb686e38c8d3b07f22e5ab75.png

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

5c35f74db9dd05c5c9f67ad6e43b92fc.gif

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

方法三:万能技术VBA

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

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

2afd654fa39a02336c6f9f3a01b09c5c.gif

具体代码展示如下

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文本中提取数字的三种小技巧,分享给大家,觉得有用,欢迎关注我,定期分享数据小技巧!

ef97675ff1f0bb84b56391197a4b10f2.png
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值