Excel從字母數字字符串中提取數字

月下載量10,000+職場必備資料

  此解決方案的基本原理是搜索并返回字母數字字符串中的第一個數字,然后只返回其后的數字。

  算法

  此解決方案包括創建公式以完成下列任務:

  1.將字母數字字符串分解為單獨的字符。

  2.確定分解后的字符串中是否有數字。

  3.確定數字在字母數字字符串中的位置。

  4.計算字母數字字符串中數字的數量。

  我們將分別考慮這些任務,然后將各公式整合在一起以得到最終結果。

  將字母數字字符串分解為單獨的字符。請在此使用MID函數。MID可以根據所指定的字符的數量,從所指定的位置開始,從文本字符串中返回特定數量的字符。

  此函數的語法是:

  MID(text,start_num,num_chars)

  Text 文本字符串包含的是要提取的字符。

  Start_num 要從文本中提取的第一個字符串的位置。文本中第一個字符占據 start_num 1,以此類推。

  Num_chars 指定要MID從文本中返回的字符數量。

  對于我們的示例,公式為:=MID(A1,ROW($1:$9),1) 此公式可以分解字母數字字符串,并且實際上會將字符置于工作表的不同行內。例如,對于字母數字字符串abc123,其所有6個字符都將被分開。

  注釋

  可將數值9適當增大為任何更大的數值,以適應更長的字符串。在此示例中,最大字符串長度為9。 值得一提的是,字符串分解之后,“1”、“2”和“3”將被看作文本而不是數字。要將存儲為文本的數字轉換成數字,請用1乘以此公式,例如:=1*MID(A1,ROW($1:$9),1) 確定分解后的字符串中是否有數字 在此我們將使用ISNUMBER 函數,此函數可以確定字母數字字符串中是否有數字。公式現在變成了: =ISNUMBER(1*MID(A1,ROW($1:$9),1))

  如果字符串中有數字,則結果將為TRUE,否則結果將為FALSE。

  確定數字在字母數字字符串中的位置。

  現在我們將通過在上一段中提到的分解后的字符串的結果中查找TRUE值來確定數字的位置。

  在此我們將使用MATCH函數。經過修改的公式現在變為:=MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0)

  要點

  必須通過按Ctrl+Shift+Enter將此公式作為數組進行輸入。

  如果字符串是abc123,則此公式產生的結果將是4。這就是字母數字字符串中第一個數字字符的位置。

  計算字母數字字符串中數字的數量

  現在的任務是計算字符串中數字的數量,以確定返回字母數字字符串中第一個數字之后要返回的字符。

  如上所述,可通過用1與其相乘,將字母數字字符串中存儲為文本的數字轉換成數字。例如,=1*MID(A1,ROW($1:$9),1)

  將存儲為文本的數字轉換成數字之后,可以通過使用COUN 函數對其進行計數??赏ㄟ^輸入以下公式計算數字的數量:=COUNT(1*MID(A1,ROW($1:$9),1))

  整合各公式

  現在我們將使用MID函數把此公式的各部分整合在一起,如以下示例所示。=MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))

  從本質上說,此問題可陳述為:確定第一個數字在字母數字字符串(在單元格A1中)中的位置。返回此數字及其后的數字。

  要將得到的字符轉換成數字,請用1乘此公式。雖然對此并不嚴格要求,但如果要對結果執行數學運算,則應該如此操作。

  下面是要輸入單元格B1中的最終公式:=1*MID(A1,MATCH(TRUE,ISNUMBER(1*MID(A1,ROW($1:$9),1)),0),COUNT(1*MID(A1,ROW($1:$9),1)))

  要點

  必須通過按 Ctrl+Shift+Enter 將這些公式作為數組進行輸入。

  在此值得一提的是,如果字符串是yur09875reew,而且您使用的是已乘1的公式,則列B中的結果將是9875而不是09875。因為 0*1=0,所以0被忽略了,返回的結果是9875。如果想得到結果09875,則不要用1乘以整個公式。

日韩成a人片在线观看日本