excel提取數(shù)字的方法步驟詳解
excel提取數(shù)字的方法步驟詳解
當(dāng)我們?cè)谑褂肊xcel進(jìn)行辦公的時(shí)候,我們可能會(huì)遇到一些數(shù)據(jù)需要進(jìn)行特殊提取的情況,下面小編就為你們介紹excel怎么提取數(shù)字。希望對(duì)你有幫助!
excel提取數(shù)字的辦法
1、漢字在前,數(shù)字在后面的情形??梢杂肕ID,min, find三個(gè)函數(shù)來(lái)實(shí)現(xiàn)提取里面的數(shù)字。如圖:在B2輸入“=MID(A1,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A1&"0123456789")),20)”
excel提取數(shù)字的步驟圖1
2 、把單元格里面所有的數(shù)字都提出來(lái)??梢允褂煤辍O却蜷_(kāi)VBA編輯器。工具——宏——visual basic 編輯器
excel提取數(shù)字的步驟圖2
3、在編輯器里點(diǎn)擊插入——模塊。在模塊那里輸入如下代碼:
復(fù)制內(nèi)容到剪貼板
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)NextEnd Function
4、回到工作表,在B2單元格那里輸入“=zzsz(A2)”。就可以用VBA把A2單元格里所有的數(shù)字都提取出來(lái)了,如圖所示。
excel提取數(shù)字的步驟圖3
5、指定從第幾個(gè)數(shù)組提取開(kāi)始。也就是說(shuō)在不連續(xù)的那些數(shù)字中,從第幾次出現(xiàn)的數(shù)組開(kāi)始提取。同樣在模塊那里輸入如下代碼:
復(fù)制內(nèi)容到剪貼板
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, " ")End IfNext
Arr1 = Split(Trim(Str))ReDim Arr2(UBound(Arr1))For i = 0 To UBound(Arr1)If Arr1(i) <> "" ThenArr2(j) = Arr1(i)j = j + 1End IfNext
GetNums = IIf(num <= j, Arr2(num - 1), "")line1:End Function
excel提取數(shù)字的步驟圖4
6、在回到單元格那里輸入“=Getnums(A3,2)”就可以提取第幾次出現(xiàn)的數(shù)組了,如圖所示。
excel提取數(shù)字的步驟圖5