Excel如何取出一段文字中的数字

2025-04-05 20:49:16
推荐回答(2个)
回答1:

提供如下两种方式:VBA公式法和Word通配符法。第一种简洁,第二种则容易理解。

这两种操作不限定字符位置和位数等。如果是固定位数、固定位置的字符,直接使用提取函数(left, right和mid即可搞掂)。

一、VBA公式法

  1. Alt+F11,打开VBA编辑器

  2. 点击左侧sheet1标签->插入->模块

  3. 粘贴如下代码到其中

  4. 回到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通配法:

  1. 复制字符到word中

  2. 调出替换对话框(Ctrl+H)

  3. 按照如下设定

    勾选使用通配符

    查找内容栏输入[!0-9]

    替换栏保持为空

  4. 点击全部替换,word中非数字字符已经全部替换。

  5. 再复制字符粘贴到Excel中(另起一列)。

回答2:

数字如果在前或者在后,可以利用公式,在后为例:
=MAX(IFERROR(--RIGHT(F19,ROW(A1:A100)),0))
三键结束数组公式

如果是混杂,得用VBA写自定义函数