tft每日頭條

 > 生活

 > excel混合文本提取數字

excel混合文本提取數字

生活 更新时间:2024-12-25 23:09:35

  1、首先要分析數據内容,根據不同的類型,使用不同的方法。

  2、分析這個表格,可以發現,除了數字外,就是漢字,在雙字節字符中,每個漢字算兩個字節,利用此特點,可以算出有多少個漢字、多少個數字,單字節字符數用LEN函數:=LEN(A2)。

  3、雙字節字節數用LENB函數,注意下兩者的區分,單字節指字符個數,雙字節指字節個數:=LENB(A2)。

  4、二者相減,即可得到文字的個數:=LENB(A2)-LEN(A2)。

  5、再用總字符數減去文字個數,即得到要提取出來的數字個數:=LEN(A2)-(LENB(A2)-LEN(A2)),去掉括号,合并起來,公式為:=LEN(A2)*2-LENB(A2)。

  6、知道了數字個數,再知道數字開始的位置,就可以用MID函數将數字提取出來了,但是現在不知道數字是從什麼位置開始的,可以使用SEARCHB雙字節查找函數+通配符?來查詢單字節出現的位置:=SEARCHB(?,A2)。

  7、這樣提取公式就有了,提取函數也要用雙字節函數:=MIDB(A2,SEARCHB(?,A2),LEN(A2)*2-LENB(A2)),如果用單字節函數也可以,但公式稍長些:=MID(A2,INT(SEARCHB(?,A2)/2)+1,LEN(A2)*2-LENB(A2))。

  8、提取結果是文本格式,如果要轉為常規的數字格式,可以在公式前加上--,或者*1,來轉換:=--MIDB(A2,SEARCHB(?,A2),LEN(A2)*2-LENB(A2)),轉換格式後,可以進行下一步的統計運算。

  9、如果文字中有空格,直接提取就會出去,需要對原來的内容進行去空格替換後,再提取:=--MIDB(SUBSTITUTE(A2, ,),SEARCHB(?,SUBSTITUTE(A2, ,)),LEN(SUBSTITUTE(A2, ,))*2-LENB(SUBSTITUTE(A2, ,)))。

  10、但是上面的方法,隻能用于除了數字就是文字的内容提取,如果除此之外,還有其它的字母、符号等單字節字符,就會出錯。

  11、對于這種不定型的,可以用數組公式進行提取,從每個字符開始,取出1~若幹個字符(比如10個),再加上運算符号進行判斷,取出的是不是數值,再用MAX函數從中取出是數值的最多數字:=MAX(IFERROR(--MID(A2,ROW($1:$30),COLUMN($A:$J)),)),在輸入數組公式時,需要同時按住Ctrl+Shift+Enter結束公式編輯,公式會自動生成一對“{}”。

  12、當然,也可以不用上面的數組公式,利用LOOKUP函數的向後兼容性,來提取出數字:=-LOOKUP(1,-MID(A2,MIN(FIND({0,1,2,3,4,5,6,7,8,9},A2&0123456789;)),ROW($1:$10))),此公式先判斷數字出現的最小位置,再從此位置開始依次取出若幹個字符,最後用LOOKUP函數取出最長數字串的那個數字,即達目的。

  13、雖然利用公式,可以從各種不同的混合文本中找出規律提取出數字,但是還是應該養成良好的習慣,在制作表格時,就将其分在不同的列中,有助于後續統計。

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关生活资讯推荐

热门生活资讯推荐

网友关注

Copyright 2023-2024 - www.tftnews.com All Rights Reserved