日常工作中,經常會遇到數據較亂的表格,如何清洗這些數據,難免會讓人頭疼。
下圖中B列為員工出差手填費用,規則較亂,沒規律可循,那麼如何從中提取金額呢?
今天介紹三種小技巧從文本中提取數字,總有一種适合你哦~
方法一:萬金油快捷鍵Ctrl ECtrl 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的好處在于代碼可反複利用,下次遇到類似的需求,簡單修改下代碼即可。
小結以上就是關于Excel文本中提取數字的三種小技巧,分享給大家,覺得有用,歡迎關注我,定期分享數據小技巧!
,
更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!