Excel 提取数字的方法
前期准备工作(包括相关工具或所使用的原料等)
Excel详细的操作方法或具体步骤
1、汉字在前,数字在后面的情形。可以用MID,min, find三个函数来实现提取里面的数字。如图:在B2输入“=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),20)”

2 、把单元格里面所有的数字都提出来。可以使用宏。先打开VBA编辑器。工具——宏——visual basic 编辑器

3、在编辑器里点击插入——模块。在模块那里输入如下代码:
Function zzsz(xStr As String) As StringDim i As IntegerFor i=1 To Len(xStr)If IsNumeric(Mid(xStr, i, 1)) Then zzsz=zzsz & Mid(xStr, i, 1)Next Function
4、回到工作表,在B2单元格那里输入“=zzsz(A2)”。就可以用VBA把A2单元格里所有的数字都提取出来了,如图所示。

5、指定从第几个数组提取开始。也就是说在不连续的那些数字中,从第几次出现的数组开始提取。同样在模块那里输入如下代码:
Function GetNums(rCell As Range, num As Integer) As StringDim Arr1() As String, Arr2() As StringDim chr As String, Str As StringDim i As Integer, j As IntegerOn Error GoTo line1
Str=rCell.TextFor i=1 To Len(Str)chr=Mid(Str, i, 1)If (Asc(chr) < 48 Or Asc(chr) > 57) ThenStr=Replace(Str, chr, " ") IfNext
Arr1=Split(Trim(Str))ReDim Arr2(UBound(Arr1))For i=0 To UBound(Arr1)If Arr1(i) <> "" ThenArr2(j)=Arr1(i)j=j + 1 IfNext
GetNums=IIf(num <=j, Arr2(num - 1), "")line1: Function

6、在回到单元格那里输入“=Getnums(A3,2)”就可以提取第几次出现的数组了,如图所示。

以上是我平时和大家学习得的经验和大家分享,希望对大家有帮助。如果对你有用处的话,请投我一票以示鼓励。
注意事项
minghaijacky的原创,希望能帮到你经验内容仅供参考,如果您需解决具体问题(尤其法律、医学等领域),建议您详细咨询相关领域专业人士。- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
