怎么将excel中一列含有文字和数字的内容中,将数字提取出来?

例如A1是我123,A2是234,然后将123,234提取出来

在excel上按ALT+F11,选择插入-模块,复制下列语句粘贴

Function SplitNumEng(str As String, sty As Byte)

Dim StrA As String

Dim StrB As String

Dim StrC As String

Dim i As Integer

Dim SigS As String

For i = 1 To Len(str)

SigS = Mid(str, i, 1)

If SigS Like "[a-zA-Z]" Then

StrA = StrA & SigS

ElseIf SigS Like "#" Then

StrB = StrB & SigS

Else

StrC = StrC & SigS

End If

Next i

Select Case sty

Case 1

SplitNumEng = StrA

Case 2

SplitNumEng = StrB

Case Else

SplitNumEng = StrC

End Select

End Function



然后在B1上输入 =SplitNumEng(A1,2)就能提取数字了 

温馨提示:内容为网友见解,仅供参考
第1个回答  2017-06-23
如果数字是固定位置,固定长度,直接用MID函数提取即可。
第2个回答  2014-03-07
A列都是汉字和数字,且数字在后面的格式吗
那么B1单元格写入公式
=RIGHT(A1,2*LEN(A1)-LENB(A1))
下拉填充公式本回答被网友采纳
第3个回答  2014-03-07
适合数字在前的提取=LOOKUP(9^9,--LEFT(a1,ROW(1:9)))
适合数字在后的提取=MID(A1,MIN(FIND(ROW(1:10)-1,A1&"0123456789")),9)三键结束
适合数字在中间的提取=LOOKUP(9^9,--LEFT(MID(A1,MIN(FIND(ROW(1:10)-1,A1&"0123456789")),10),ROW(1:9)))
总体可以用:=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))但也有缺陷,比如1234adsf1234就提取不出来
相似回答