如何用Excel从字母数字字符串中提取数字
3个回答
展开全部
你要提取的数字位数都一致吗?如果都一致可以用vlookup实现,附件中的文件时提取文本中的手机号,供你参考
附件中的公式为:
=VLOOKUP(0,MID(A1,ROW($A$1:$A$99),11)*{0,1},2,0)
注:公式为数组公式,输入完成后需要同时按下Ctrl+Shift+回车三键结束输入,否则公式无效
公式中的引用范围根据实际情况修改,如果你要提取的数字不是11位,则将11改成相应的位数即可(例如需要提取的数字是8位,则将公式中的11改成8即可)
展开全部
目前了解到的实现方式是使用vba
对单元格内内容进行遍历,提取数字
对单元格内内容进行遍历,提取数字
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
按ALT+F11,插入-模块,复制下列语句e68a84e8a2ade79fa5e9819331333339666636
FunctionSplitNumEng(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
EndFunction
比如你的数据在A1
B1输入
=SplitNumEng(A1,2)
下拉公式即可
FunctionSplitNumEng(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
EndFunction
比如你的数据在A1
B1输入
=SplitNumEng(A1,2)
下拉公式即可
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询