excel用自定義函數提取單元格內字符串中的數字

      網友投稿 840 2025-03-31

      Excel用自定義函數提取單元格內字符串中的數字


      如果Excel單元格中包含一個混合文本和數字的字符串,要提取其中的數字,通常可以用下面的公式,例如字符串“隆平高科000998”在A1單元格中,在B1中輸入數組公式:

      =MID(A1,MATCH(1,–ISNUMBER(–MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)),0),COUNT(–MID(A1,ROW(INDIRECT("1:"&LEN(A1))),1)))

      excel用自定義函數提取單元格內字符串中的數字

      公式輸入完畢按Ctrl+Shift+Enter結束,公式返回文本形式的數值“000998”。下面的公式也可以提取字符串中的數值,并返回數值形式:

      =LOOKUP(9E+307,–MID(A1,MIN(FIND({0;1;2;3;4;5;6;7;8;9},A1&1234567890)),ROW(INDIRECT("1:"&LEN(A1)))))

      公式返回“998”。

      上述兩個公式適合于字符串中包含連續數字的情況。但有時字符串中可能包含多個被文本分隔的數字,如“世紀家園31棟3單元901室”中就包含了3個數值,用上面的第二個公式只能返回第一個數值“31”,而第一個公式不能得到正確的結果。要分別提取字符串中的各個數值,可以用下面的自定義函數。

      在Excel中按Alt+F11,打開VBA編輯器。單擊菜單“插入→模塊”,在代碼窗口中輸入下列代碼

      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

      該自定義函數定義了兩個參數,第一個參數指定字符串所在的單元格,第二個參數指定提取字符串中的第幾個數值。如果字符串中僅包含2個數值,而第二個參數大于2,則函數會返回空。

      返回Excel工作表界面。假如上述字符串在A2單元格中,在B2中輸入:

      =Getnums(A2,1)

      公式將以文本形式返回字符串中的第一個數值。要得到字符串中的第N個數值,將公式中的第二個參數“1”替換為N即可,如下圖D2中的公式:

      =Getnums(A2,3)

      返回“901”。

      說明:該自定義函數在處理小數形式的數值時,將小數點“.”也視為字符,因而對于小數可分別提取小數的整數部分和小數部分

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:工廠生產自動化設計的關鍵技術與應用策略,探討工廠生產自動化設計的核心技術和實施方法
      下一篇:協同辦公管理平臺改造項目(協同辦公開發)
      相關文章
      91在线亚洲综合在线| 亚洲日韩精品射精日| 久久精品7亚洲午夜a| 久久精品亚洲福利| 亚洲国产成人九九综合| 337p日本欧洲亚洲大胆色噜噜| 亚洲va久久久噜噜噜久久天堂| 区三区激情福利综合中文字幕在线一区亚洲视频1| 亚洲精品无码少妇30P| 亚洲国产精品18久久久久久 | 亚洲Av高清一区二区三区| 亚洲精品永久www忘忧草| 亚洲高清视频免费| 亚洲精彩视频在线观看| 亚洲欧洲精品视频在线观看| 亚洲精品在线视频观看| 亚洲福利一区二区三区| 亚洲午夜久久久精品电影院| 亚洲人成网男女大片在线播放| 亚洲男人天堂2022| 亚洲av午夜国产精品无码中文字| 亚洲国产精品成人AV在线| 亚洲 自拍 另类小说综合图区| 亚洲日本中文字幕一区二区三区| 久久精品国产精品亚洲人人| 亚洲色大成网站WWW久久九九| 亚洲va久久久噜噜噜久久狠狠| 亚洲午夜免费视频| 亚洲成aⅴ人在线观看| 亚洲人成网站色在线观看| 亚洲欧美第一成人网站7777| 校园亚洲春色另类小说合集| 亚洲免费一区二区| 久久国产亚洲精品麻豆| 亚洲人成在线影院| 亚洲fuli在线观看| 亚洲成av人片在线天堂无| 亚洲精品NV久久久久久久久久| 亚洲精品乱码久久久久久中文字幕| 亚洲精品国产成人专区| 亚洲av日韩av无码av|