提供如下两种方式:VBA公式法和Word通配符法。第一种简洁,第二种则容易理解。
这两种操作不限定字符位置和位数等。如果是固定位数、固定位置的字符,直接使用提取函数(left, right和mid即可搞掂)。
一、VBA公式法
Alt+F11,打开VBA编辑器
点击左侧sheet1标签->插入->模块
粘贴如下代码到其中
回到Excel表中即可使用该公式(Num_Get())。
Function Num_Get(Num As String)
Dim i As Single
Num_Get = ""
For i = 1 To Len(Num)
If Asc(Mid(Num, i, 1)) >= 48 And Asc(Mid(Num, i, 1)) <= 57 Then
Num_Get = Num_Get & Mid(Num, i, 1)
End If
Next
End Function
二、Word通配法:
复制字符到word中
调出替换对话框(Ctrl+H)
按照如下设定
勾选使用通配符
查找内容栏输入[!0-9]
替换栏保持为空
点击全部替换,word中非数字字符已经全部替换。
再复制字符粘贴到Excel中(另起一列)。
数字如果在前或者在后,可以利用公式,在后为例:
=MAX(IFERROR(--RIGHT(F19,ROW(A1:A100)),0))
三键结束数组公式
如果是混杂,得用VBA写自定义函数