请教EXCEL函数达人:如何提取字符串中的数字。
如:苹果124苹果需要提取“124”,人生果51人生果需要提“51”等等。总之就是提出字符串中的数字...
如:苹果124苹果 需要提取“124”, 人生果51人生果 需要提“51”等等。
总之就是提出字符串中的数字 展开
总之就是提出字符串中的数字 展开
8个回答
展开全部
可选用以下方法提取:
1、给出数字的起始位置和长度。示例公式:=--mid(a1,5,3) 公式结果为提取A1单元格中从第5位开始的3个数字。
2、提取某特定字符串后的数字。示例公式:=-lookup(0,-mid(a1,find("ABC",a1)+LEN("ABC"),row(1:99))) 公式结果为提取A1单元格中字符串ABC之后的数字。
3、数字在一侧其他则中文字符组成。示例公式:数字在前,公式=left(a1,2*len(a1)-lenb(a1));数字在后,公式=right(a1,2*len(a1)-lenb(a1))
4、没有给出任何条件,只要求将单元格中的数字提出。通用公式=-lookup(0,-mid(a1,min(find(row(1:10)-1,a1&1/17)),row(1:99))) 按组合键ctrl+shift+enter结束公式。
1、给出数字的起始位置和长度。示例公式:=--mid(a1,5,3) 公式结果为提取A1单元格中从第5位开始的3个数字。
2、提取某特定字符串后的数字。示例公式:=-lookup(0,-mid(a1,find("ABC",a1)+LEN("ABC"),row(1:99))) 公式结果为提取A1单元格中字符串ABC之后的数字。
3、数字在一侧其他则中文字符组成。示例公式:数字在前,公式=left(a1,2*len(a1)-lenb(a1));数字在后,公式=right(a1,2*len(a1)-lenb(a1))
4、没有给出任何条件,只要求将单元格中的数字提出。通用公式=-lookup(0,-mid(a1,min(find(row(1:10)-1,a1&1/17)),row(1:99))) 按组合键ctrl+shift+enter结束公式。
展开全部
'################################################################
'从字符串提取纯数字
' 示 例:字符串:01AB2%中98国10CDE63
' 1、提取不重复数字并从小到大排列:0123689
' 2、提取不重复数字并从大到小排列:9863210
' 3、按出现顺序取出所有数字:012981063
'################################################################
Function SortNumber_1(mystring As String) As String
Dim i As Integer
Dim Str As String
For i = 0 To 9
If InStr(1, mystring, i) > 0 Then
Str = Str & i
End If
Next
SortNumber_1 = Str
End Function
Function SortNumber_2(mystring As String) As Double
Dim i As Integer
Dim Str As String
For i = 9 To 0 Step -1
If InStr(1, mystring, i) > 0 Then
Str = Str & i
End If
Next
SortNumber_2 = Str
End Function
Function GetNumber(mystring As String) As String
Dim i As Integer
Dim Str As String
For i = 1 To Len(mystring)
If IsNumeric(Mid(mystring, i, 1)) Then
Str = Str & Mid(mystring, i, 1)
End If
Next
GetNumber = Str
End Function
'从字符串提取纯数字
' 示 例:字符串:01AB2%中98国10CDE63
' 1、提取不重复数字并从小到大排列:0123689
' 2、提取不重复数字并从大到小排列:9863210
' 3、按出现顺序取出所有数字:012981063
'################################################################
Function SortNumber_1(mystring As String) As String
Dim i As Integer
Dim Str As String
For i = 0 To 9
If InStr(1, mystring, i) > 0 Then
Str = Str & i
End If
Next
SortNumber_1 = Str
End Function
Function SortNumber_2(mystring As String) As Double
Dim i As Integer
Dim Str As String
For i = 9 To 0 Step -1
If InStr(1, mystring, i) > 0 Then
Str = Str & i
End If
Next
SortNumber_2 = Str
End Function
Function GetNumber(mystring As String) As String
Dim i As Integer
Dim Str As String
For i = 1 To Len(mystring)
If IsNumeric(Mid(mystring, i, 1)) Then
Str = Str & Mid(mystring, i, 1)
End If
Next
GetNumber = Str
End Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果字符串中只有汉字和数字,可以用这个公式,如果数据在A1中,提取公式为
=MIDB(A1,SEARCHB("?",A1),2*LEN(A1)-LENB(A1))
=MIDB(A1,SEARCHB("?",A1),2*LEN(A1)-LENB(A1))
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以,先用find 函数找到与查找字符的位置,再用LEFT函数提取出来。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
假如数据在A列,从A1开始
B1=LOOKUP(9^9,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&5^19)),ROW($1:$99)))
鼠标放在B1右下角,变成十字后下拉。
B1=LOOKUP(9^9,--MID(A1,MIN(FIND({1,2,3,4,5,6,7,8,9,0},A1&5^19)),ROW($1:$99)))
鼠标放在B1右下角,变成十字后下拉。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询
广告 您可能关注的内容 |